from django import forms
class BaseForm(forms.Form):
def clean(self):
print('BaseForm.clean()')
return super().clean()
class DerivedForm(BaseForm):
name = forms.CharField()
def clean(self):
print('DerivedForm.clean()')
return super().clean()
form = DerivedForm(data={'name': 'Hari'})
form.is_valid()Django Form Inheritance and Method Resolution Order
Only 'BaseForm.clean()' is printed
'DerivedForm.clean()' followed by 'BaseForm.clean()' is printed
'BaseForm.clean()' followed by 'DerivedForm.clean()' is printed
Both methods are called simultaneously, order is undefined
Show answer & explanationAnswer
Correct answer
'DerivedForm.clean()' followed by 'BaseForm.clean()' is printed
Explanation
When is_valid() is called, Python's MRO ensures DerivedForm.clean() is called first, which prints 'DerivedForm.clean()', then calls super().clean() which executes BaseForm.clean() printing 'BaseForm.clean()'. The order demonstrates proper inheritance and method resolution.
Written by ExamHoot EditorialPublished · Updated
All 30 Django Forms and Validation questions
- 1.What is the primary purpose of Django Forms?
- 2.Which Django class is used to create a form?
- 3.What does the is_valid() method do in Django Forms?
- 4.Which field type in Django Forms is used for email validation?
- 5.What is the purpose of the clean() method in Django Forms?
- 6.How do you access form errors in Django?
- 7.What does ModelForm do in Django?
- 8.Which method is used to render form fields in a Django template?
- 9.What is the purpose of the required parameter in Django form fields?
- 10.Which validator ensures a field value is within a specific range?
- 11.Scenario:
- 12.What will be the output of the following Django form code?
- 13.Scenario:
- 14.What will be the output of the following code?
- 15.Scenario:
- 16.What will this code output?
- 17.Scenario:
- 18.What will be the output of the following ModelForm code?
- 19.Scenario:
- 20.What will this code output?
- 21.Understanding Django Form Validation Pipeline and Custom Validators
- 22.Django ModelForm Field Exclusion and Customization
- 23.Scenario:
- 24.Django Form Rendering with Widgets and HTML Attributes
- 25.Understanding Form.errors and Non-Field Errors
- 26.Django Form Inheritance and Method Resolution Order
- 27.Scenario:
- 28.Working with Form Bound and Unbound States
- 29.Custom Validators and Reusability Across Forms
- 30.Scenario:
