Django表示需要哪些字段作为“绑定”字段进行验证

时间:2013-08-08 03:53:15

标签: django django-forms

根据这个问题:Difference between Django Form 'initial' and 'bound data'?

  

这是关于绑定和未绑定表单的django文档的关键部分。

     

如果它绑定到一组数据,它就能够验证该数据并将表单呈现为HTML,并显示数据   HTML。

     

如果它是未绑定的,则无法进行验证(因为没有要验证的数据!),但它仍然可以将空白表单呈现为HTML。

我的问题是: 是否有一种简单的方法可以知道

我们有一个多继承的ModelForm噩梦,要弄清楚哪些是“绑定”所需的最小字段真的很难。

在这种情况下,我尝试将我的form.datavars(form.fields)进行匹配,但这还不够,只是正在进行的聚会追踪模型并向{{1}添加越来越多的内容以特别的方式。

是否存在可绑定字段的最低要求的某些基数列表?

1 个答案:

答案 0 :(得分:0)

根据您的澄清评论:

  

[T]这里有一些数据,但表格仍然是form.is_bound = False。我想知道的是,为了使is_bound为True,我还需要添加更多数据。

这不是存在或不存在哪些数据的问题,而是关于如何构造表单对象的问题。

来自docs

To create an unbound Form instance, simply instantiate the class:

>>> f = ContactForm()

To bind data to a form, pass the data as a dictionary as the first parameter to your Form class constructor:
>>> data = {'subject': 'hello',
...         'message': 'Hi there',
...         'sender': 'foo@example.com',
...         'cc_myself': True}
>>> f = ContactForm(data)

也就是说,如果在实例化表单时提供了一个参数,那么它就是绑定的。如果不是,不是。