【问题标题】:Django non-rel - How to create forms with EmbeddedModelField in the model?Django non-rel - 如何在模型中使用 EmbeddedModelField 创建表单?
【发布时间】:2011-11-11 23:19:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: django mongodb django-nonrel


    【解决方案1】:

    只需自己实现一个表单域类。

    1. forms.py 中实现 formfield
    2. models.py 中指定您要与此模型一起使用的表单

    实现一个表单域是小菜一碟,你只需要在类中实现这两个方法:

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

    如果您使用旧表单域类的继承来实现它,则可以使用附加在该表单域上的小部件。 (widget 表示 UI 将通过模板系统呈现在网页上)

    实现formfield的参考:How to use ListFields in Django's admin

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      相关资源
      最近更新 更多