Django Показать поле M2M в любой модели при использовании forms.ModelForm - PullRequest
1 голос
/ 22 апреля 2010

Я использую формы. МоделФорм для создания моей формы. Я хочу показать множество полей в обеих модельных формах, как мне это сделать?

Если в модели определено множество отношений, это нормально и просто появляется, но если оно отсутствует в модели (но все еще связано через другую модель), оно не появляется. Как я могу заставить его появиться?

Надеюсь, это имеет смысл.

Спасибо

1 Ответ

0 голосов
/ 22 апреля 2010

Используйте это поле сторонней модели класса . Это четыре строки, которые подклассы обычного класса 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')
    ...

Для получения дополнительной информации см. правое описание фрагментов django .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...