我正在使用 django 管理模板開發一個 Web 應用程式。在該應用程式中,我需要基于另一個模型欄位輸入的模型欄位驗證。舉個例子,如果用戶在 file_required 模型欄位中提供“yes”作為輸入值,則Browsefile模型欄位應被視為必填欄位。如果用戶在file_required模型欄位中提供“否”作為輸入值,則應將Browsefile模型欄位視為可選欄位。請指教
uj5u.com熱心網友回復:
您可以通過設定在模型中將 Browsefileblank=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"})
并且不要忘記form = YourModelForm在您的 admin.py 類中添加一個。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/478783.html
上一篇:在Django中單獨渲染表單元素
