我需要以django形式添加一个简单的非模型字段:
<input type="text" name="setupwork" value=""/>
然后在pre_save信号上访问它的值。
有没有办法这样做,我查看了pre_save参数:sender,instance,using,** kwargs但无法找到该字段。
答案 0 :(得分:1)
听起来好像你只想在表单中添加一个隐藏字段,然后你可以检查它是否有任何内容
class MyForm(Form):
my_field = forms.CharField(widget=forms.HiddenInput())
def clean_my_field(self):
data = self.cleaned_data['my_field']
if data:
raise ValidationError()
return data
答案 1 :(得分:0)
答:我以为我可以从pre_save信号访问FORM。如上文贡献者所解释的那样,情况并非如此。您只能访问与表单相关的模型数据。因此,在我的情况下,仅添加到html表单的字段现在将显示在pre_save实例中。
我通过创建一个可以在任何POST方法上触发的自定义中间件解决了这个问题,并检查了解耦的html表单字段的存在和内容。