0

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',))

何か不足していますか?

4

1 に答える 1