我正在使用CreateView
和UpdateView
直接进入名为dydict的应用程序的urls.py
。在forms.py
文件中,我正在使用ModelForm
,我在显示几个字段,其中一些字段应该在创建或更新时设置。因此,正如标题中所提到的,update
部分有效,但创建部分并不明显,因为我所排除的必填字段被发送为空,这在我的情况下是不允许的。所以这里的问题是,我该如何将排除的字段填充到文件forms.py
中,以便我不必覆盖CreateView
?
提前致谢。
答案 0 :(得分:1)
好吧,你必须在某处设置必填字段。如果您不希望它们在表单中显示或编辑,您可以选择在视图中设置它们(通过使用CreateView
的自定义子类),或者如果适用于{{1}中的设计模型类的方法。或者在模型中的字段上声明适当的save
值。
将字段放入表单也可以,但将它们设置为使用default
小部件。这对于恶意输入是不安全的,所以我不会为纯粹的自动化字段做到这一点。
答案 1 :(得分:0)
您不能排除在模型定义中根据需要设置的字段。您需要为每个模型字段定义blank=True
/ null=True
。
如果这不能解决您的问题,那么请向我们展示模型和表单定义,以便我们确切地知道代码的样子。