Tôi tạo ra một hình thức tùy chỉnh với xác nhận tùy chỉnh như thế này:Django làm thế nào để ghi đè lên phương thức clean() trong một phân lớp của biểu mẫu tùy chỉnh?
class MyCustomForm(forms.Form):
# ... form fields here
def clean(self):
cleaned_data = self.cleaned_data
# ... do some cross-fields validation here
return cleaned_data
Bây giờ, hình thức này được subclassed bằng một hình thức trong đó có phương pháp riêng của mình sạch sẽ.
Cách chính xác để kích hoạt cả hai phương thức clean() là gì?
Tại thời điểm này, đây là những gì tôi làm:
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
Có vẻ như để làm việc. Tuy nhiên, điều này làm cho hai phương thức clean() trả về cleaned_data
mà dường như đối với tôi hơi lạ.
Đây có phải là cách chính xác không?
Bạn đang làm việc đó một cách chính xác. –