0

我正在尝试从我创建的中间表创建一个表单集模型,以使用 Django 1.7 和 Python3.2 管理多对多表。

这是我的中间模型,请注意“托管”设置为“假”。

# models.py
class Intermediary(models.Model):
   sid = models.ForeignKey(Sellers, db_column='sid')
   cid = models.ForeignKey(Competitors, db_column='cid')
   date_joined = models.DateField(auto_now=True)

class Meta:
    managed = False
    db_table = 'intermediary'

蟒蛇外壳:

>>> from django.forms.models import modelformset_factory
>>> from myapp.models import Intermediary
>>> IntermediaryFormSet = modelformset_factory(Intermediary)
>>> formset = IntermediaryFormSet()
>>> print(formset)
>>> Traceback (most recent call last):
    blablity-blah-blah
    blablity-blah-blah
    ...
    django.db.utils.ProgrammingError: Unknown column 'intermediary.id' in 'field list'. 

但正如您所见,我的模型中没有“id”列。我认为这个幽灵专栏是由 Django 的魔法创造的一个隐含的专栏。

我也得到了另一列相同的错误过滤:

IntermediaryFormSet = modelformset_factory(Intermediary, fields=('sid',))

我错过了什么吗?

4

1 回答 1

0

向模型和 sql 表添加主键解决了我的问题。

于 2015-02-09T21:46:10.457 回答