Zasadniczo mam model, w którym utworzyłem nadklasę, którą dzieli wiele innych klas, a następnie każda z tych klas ma kilka unikalnych cech, które różnią się od siebie. Powiedzmy, że klasa A jest nadklasą, a klasa B, C i D są dziećmi tej klasy.Klucze dziedziczenia modelu i obcego Django
Zarówno klasa B, jak i klasa C mogą mieć wielokrotności klasy D, jednak widziałem, że najlepiej jest umieścić relację klucza obcego w klasie D, która następnie odnosi się do jej klasy nadrzędnej. Teraz w innych językach mógłbym po prostu powiedzieć, że ma on relację ForeignKey do klasy A, a następnie język rozpoznaje prawdziwy typ klas. Jednak nie sądzę, że tak to działa z Pythonem.
Jaki jest najlepszy zalecany sposób realizacji tego problemu?
EDIT: Tutaj jest grubsza, co mam na myśli ...
class A(models.Model):
field = models.TextField()
class B(A):
other = <class specific functionality>
class C(A):
other2 = <different functionality>
class D(A):
#I would like class D to have a foreign key to either B or C, but not both.
Zasadniczo, klasa B i C Klasa obie mają wiele klasę D's. Ale konkretna klasa D należy tylko do jednego z nich.
Czy możesz wyjaśnić, dlaczego potrzebujesz dziedziczenia? – Evgeny
Istnieje pokrewne pytanie zawiera kilka fajnych odpowiedzi, które mogą pomóc: https://stackoverflow.com/questions/1114767/django-model-inheritance-and-foreign-keys – Miranda