【发布时间】:2010-04-22 09:38:49
【问题描述】:
我正在使用 forms.ModelForm 来创建我的表单。我希望能够以两种模型形式显示多对多字段,我该怎么做?
如果在模型中定义了多对多关系,它很好并且只是出现,但如果它不在模型中(但仍然通过另一个模型链接)它不会出现。我怎样才能让它显示出来?
希望这是有道理的。
谢谢
【问题讨论】:
标签: django django-forms
我正在使用 forms.ModelForm 来创建我的表单。我希望能够以两种模型形式显示多对多字段,我该怎么做?
如果在模型中定义了多对多关系,它很好并且只是出现,但如果它不在模型中(但仍然通过另一个模型链接)它不会出现。我怎样才能让它显示出来?
希望这是有道理的。
谢谢
【问题讨论】:
标签: django django-forms
使用this third party model field class。它是常规 ManyToMany 类的子类,但指示 Django 不要为第二个关系创建单独的表。
您通常在第一个模型上创建关系,显式指定数据库表名(“db_table”选项):
class FirstModel(models.Model):
second_model = ManyToManyField('SecondModel', related_name='second_model', db_table=u'TABLE_FOR_FIRST_AND_SECOND_MODEL')
...
对于第二个模型使用 ManyToManyField_NoSyncdb,所以它不会尝试创建第二个表:
class SecondModel(models.Model):
first_model = ManyToManyField_NoSyncdb('FirstModel', related_name='first_model', db_table=u'TABLE_FOR_FIRST_AND_SECOND_MODEL')
...
【讨论】: