ExamHoot

Django Form Inheritance and Method Resolution Order

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()
  1. Only 'BaseForm.clean()' is printed

  2. 'DerivedForm.clean()' followed by 'BaseForm.clean()' is printed

  3. 'BaseForm.clean()' followed by 'DerivedForm.clean()' is printed

  4. Both methods are called simultaneously, order is undefined

Show answer & explanation

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. 1.What is the primary purpose of Django Forms?
  2. 2.Which Django class is used to create a form?
  3. 3.What does the is_valid() method do in Django Forms?
  4. 4.Which field type in Django Forms is used for email validation?
  5. 5.What is the purpose of the clean() method in Django Forms?
  6. 6.How do you access form errors in Django?
  7. 7.What does ModelForm do in Django?
  8. 8.Which method is used to render form fields in a Django template?
  9. 9.What is the purpose of the required parameter in Django form fields?
  10. 10.Which validator ensures a field value is within a specific range?
  11. 11.Scenario:
  12. 12.What will be the output of the following Django form code?
  13. 13.Scenario:
  14. 14.What will be the output of the following code?
  15. 15.Scenario:
  16. 16.What will this code output?
  17. 17.Scenario:
  18. 18.What will be the output of the following ModelForm code?
  19. 19.Scenario:
  20. 20.What will this code output?
  21. 21.Understanding Django Form Validation Pipeline and Custom Validators
  22. 22.Django ModelForm Field Exclusion and Customization
  23. 23.Scenario:
  24. 24.Django Form Rendering with Widgets and HTML Attributes
  25. 25.Understanding Form.errors and Non-Field Errors
  26. 26.Django Form Inheritance and Method Resolution Order
  27. 27.Scenario:
  28. 28.Working with Form Bound and Unbound States
  29. 29.Custom Validators and Reusability Across Forms
  30. 30.Scenario: