Django 1.7 と Python3.2 を使用して多対多テーブルを管理するために作成した中間テーブルからフォームセット モデルを作成しようとしています。
これは私の中間モデルであり、「マネージド」が「False」に設定されていることに注意してください。
# 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'
Python シェル:
>>> 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',))
何か不足していますか?