我正在使用django管理模板开发web应用程序。在该应用程序中,我需要基于另一个模型字段输入的模型字段验证。举个例子,如果用户提供了"是"作为file_required的输入值model字段Browsefile模型字段应视为必填字段。如果用户提供了"作为file_required的输入值model字段Browsefile模型字段应该被视为可选的。请通知
你可以定义你的Browsefile字段,通过设置blank=True
在模型中作为可选的,然后制作一个验证表单来检查您的file_required字段,如果用户提供了"是"无需在Browsefile中输入任何内容然后抛出ValidationError "此字段是必填的"
您可以通过检查表单的cleaned_data来测试用户输入的值,然后如果您设置的条件不是必需的,则执行您想要的操作:
class YourModelForm(forms.ModelForm):
def clean(self):
file_required = self.cleaned_date['file_required']
if file_required == "yes" and not self.cleaned_data['Browsefile']:
raise forms.ValidationError({'Browsefile': "This field is mandatory"})
不要忘记在admin.py类中添加一个form = YourModelForm
。