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