Django modele, Podstawy_014:

014. Jakie rodzaje dziedziczenia są wspierane w modelach Django?

Odpowiedź,:
    - Abstrakcyjne: Gdy potrzebujesz wspólnych pól/metod dla różnych modeli.
    - Wielokrotne abstrakcyjne: Gdy chcesz łączyć różne funkcjonalności.
    - Konkretne/multi-table: Gdy potrzebujesz hierarchii z osobnymi tabelami.
    - Proxy: Gdy chcesz zmienić zachowanie istniejącego modelu bez zmiany bazy danych.

# Dziedziczenie abstrakcyjne
    class Person(models.Model):
        # common fields
        class Meta:
            abstract = True

# Konkretne/multi-table::
    class Student(models.Model):
        # Student Attributes
        pass

# Proxy Models:
class MyPerson(Person):
    class Meta:
        proxy = True
        ordering = ["last_name"]

    def do_something(self):
        pass