如何重用django表单进行搜索?

时间:2015-06-09 15:01:51

标签: python django forms

我在django中编写应用程序,我有一个模型,我定义了一些必须填充的字段。这样,当用户没有填写其中一个字段时,Django会自动向用户指示填充它以创建模型定义的特定对象。

但问题来自:我想重复使用相同的表单来搜索该模型定义的对象。在这种情况下,之前所有必需的字段现在都是可选的。但是,由于我已经定义了模型以便字段是必需的,因此django不允许我将这些字段定义为可选字段。

有没有办法在需要字段的情况下重用该表单,但是使它们可选?或者我必须在html中创建另一个不同的模型或表单?我知道在html代码中手动创建另一个表单问题是求解器,但我有好奇心知道它是否可以重用。

非常感谢你!

1 个答案:

答案 0 :(得分:1)

您可以使用其fields字典以编程方式更改表单中字段的属性。因此,您可以创建一个新的表单类,该表单类派生自当前的表单类,并在其__init__中将您希望可选的字段的required属性设置为False,如下所示:

self.fields['title'].required = False