我正在尝试从我创建的中间表创建一个表单集模型,以使用 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',))
我错过了什么吗?