Django non-rel - Как создать формы с EmbeddedModelField в модели? - PullRequest
3 голосов
/ 07 сентября 2011

У меня есть настройка для Django non-rel с Mongodb в качестве бэкэнда.В моделях я несколько раз использовал EmbeddedModelField, поскольку мне нравятся эти концепции нереляционных БД.Но когда дело доходит до рендеринга форм.Я застрял,

Я создал форму как обычную форму Django, но django показывает тип ошибки {модель} в строке заголовка.

Кто-нибудь знает, как я могу создать поля формы для EmbeddedModelField в Djangoбез отн

1 Ответ

2 голосов
/ 14 марта 2012

Просто реализуйте класс формы поля самостоятельно.

  1. внедрите поле формы в forms.py
  2. укажите, какую форму вы хотитеиспользовать с этой моделью в models.py

реализация поля формы - дело простое, вам просто нужно реализовать эти два метода в классе:

  1. to_python(self, value)
  2. prepare_value(self, value)

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

Справочник по реализации поля формы: Как использовать ListFields в админке Django

И вы можете реализовать свойсобственный виджет путем переопределения исходного виджета поля формы.

Например, взгляните на документацию Django: Django docs - виджеты

...