Ho creato un modulo personalizzato con la convalida personalizzato come questo:Django come sovrascrivere il metodo clean() in una sottoclasse di modulo personalizzato?
class MyCustomForm(forms.Form):
# ... form fields here
def clean(self):
cleaned_data = self.cleaned_data
# ... do some cross-fields validation here
return cleaned_data
Ora, questa forma è una sottoclasse di un'altra forma che ha il suo metodo pulito.
Qual è il modo corretto per attivare entrambi i metodi clean()?
Al momento, questo è quello che faccio:
class SubClassForm(MyCustomForm):
# ... additional form fields here
def clean(self):
cleaned_data = self.cleaned_data
# ... do some cross-fields validation for the subclass here
# Then call the clean() method of the super class
super(SubClassForm, self).clean()
# Finally, return the cleaned_data
return cleaned_data
Sembra funzionare. Tuttavia, questo rende due metodi clean() restituiscono cleaned_data
che mi sembra un po 'strano.
È questo il modo corretto?
Lo stai facendo correttamente. –