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

标签 django mongodb django-nonrel

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

我将 Form 创建为 Django 的正常形式,但 Django 在标题栏中显示类型错误 {model}。

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

最佳答案

自己实现一个formfield类就可以了。

  1. forms.py 中实现 formfield
  2. models.py
  3. 中指定您希望将哪种形式用于此模型

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

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

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

实现表单域的引用:How to use ListFields in Django's admin

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

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

关于Django non-rel - 如何在模型中使用 EmbeddedModelField 创建表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331203/

相关文章:

google-app-engine - Google App Engine 中的 Django-nonrel admin super 用户

python - Django 无法在模板中计算票数

python - 尝试将 DRY 原则应用于 django 中的建模方法

python - django-rest-framework 中的 PDF

javascript - 如何从 Mongodb 中删除数组元素

node.js - NodeJS/MongoDB - 字段仅添加一次?

django - Apache mod_wsgi django调用keras模型时如何释放占用的GPU内存?

c# - Mongodb:如何检查一个点是否包含在多边形中?

django - unique_together 在 Django-nonrel 中如何工作?

django.core.exceptions.ImproperlyConfigured : name must be an instance of basestring