Django non-rel - 如何在模型中使用EmbeddedModelField创建表单?

时间:2011-09-07 08:58:10

标签: django mongodb django-nonrel

我已经使用Mongodb作为后端设置了Django非rel。在模型中,我使用EmbeddedModelField很多次,因为我喜欢非关系数据库的概念。但是,当涉及到渲染表单时。我卡住了,

我创建了Form作为Django的正常形式,但django在标题栏中显示Type error {model}。

有谁知道如何在Django non-rel中为EmbeddedModelField创建表单字段?

1 个答案:

答案 0 :(得分:2)

只需自己实施一个formfield类。

  1. forms.py
  2. 中实施表单字段
  3. models.py
  4. 中指定要与此模型一起使用的表单

    实现一个formfield是件小事,你只需要在类中实现这两个方法:

    1. to_python(self, value)
    2. prepare_value(self, value)
    3. 如果使用旧formfield类的继承实现它,则可以使用该formfield上附加的小部件。 (小部件意味着UI将通过模板系统在网页上呈现)

      实施表单字段的参考:How to use ListFields in Django's admin

      您可以通过覆盖表单域的原始窗口小部件来实现自己的窗口小部件。

      例如,看一下django文档:Django docs - widgets