The inheritance styles in Django are 3 in number-

  • Abstract base classes: This inheritance style is used by the developer when they want parents class to retain the data which you do not want to type out for every single child model.
  • Multi-table inheritance: This inheritance style is used if you want to subclass on an existing model and each of the models to have its own database table.
  • Proxy models: This inheritance style allows the user to modify the python level behavior without actually modifying the model's field.
BY Best Interview Question ON 22 Sep 2019