【发布时间】:2013-04-16 13:37:46
【问题描述】:
有没有办法从 django(1.5) 中的表单创建模型? 就像从模型创建表单一样。
我的表格是
class QuoteForm(forms.Form):
country = forms.ChoiceField(choices=COUNTRIES, required=False)
street = forms.CharField(max_length=100, required=False)
我的模型具有完全相同的字段
【问题讨论】:
-
我认为这不是 django 的流程。为什么不能先创建模型再使用模型表单?
-
表单是在模型之前创建的,我现在使用的是经典模型 => 表单 + 自定义
-
Django 从表单生成模型几乎没有意义。 Django 使用
models.Model类中的 Python 元类来处理创建数据库访问层。由于这对应用程序的表单没有可见性,因此将无法看到模型并且不会创建表。这就是为什么 Django 采取另一种方式的原因:模型是相对静态的,而表单是从它们派生而来的。 -
此外,表单字段到模型字段的映射不是 1:1;表单字段可以是文本输入字段,但对应的模型字段可以是
CharField、TextField、IntegerField、PositiveIntegerField或其他几个字段,您必须添加一堆命名参数告诉 Django 制作哪一个的表单定义。
标签: python django-models django-forms