Django文檔包括cleaning and validating FIELDS that depend on each other的形式,但我無法找到任何覆蓋了互相依賴的形式。Django的:清潔和驗證依賴於彼此
我有與含有一個標準的django形式和一個Django表單集的單個HTML表單。在該formset的每種形式適當的驗證是完全條件基於從主模中的值(例如檢查主窗體上的一個盒,和一個特定的字段上每種形式在該formset突然變得必需的)。
我的直覺是「簡單的」傳遞整個主要形式到表單集驗證調用,就像這樣:
def my_view(request):
MyFormSet = formset_factory(MyForm, extra=2, can_order=True)
if request.method == 'POST':
form = MainForm(request.POST)
formset = MyFormSet(request.POST)
if form.is_valid() and formset.is_valid(form): # <-- ?!?!
# The formset is now validated based on the form
然而,爲了使這項工作,我相信我會同時覆蓋表單集is_valid()
以及底層表格is_valid()
和clean()
方法。所以,它非常快速地變得非常混亂。
有沒有更好的方式來做到這一點?
這應該是被接受的答案。 –