Próbuję dziedziczenia modelu na mojej stronie z Django w celu przestrzegania DRY. Moim celem jest wykorzystanie abstrakcyjnej klasy bazowej o nazwie BasicCompany w celu dostarczenia wspólnych informacji dla trzech klas potomnych: Butcher, Baker, CandlestickMaker (znajdują się one w swoich własnych aplikacjach pod ich nazwami).Streszczenie dziedziczenia klasy bazowej w Django z obcym kluczem
Każda z klas podrzędnych wymaga zmiennej liczby rzeczy, takich jak adresy e-mail, numery telefonów, adresy URL itp., Począwszy od 0 i więcej. Tak więc chcę relacji między wieloma klasami a firmą, do której się odnoszą. Oto z grubsza o co mi wyobrazić BasicCompany/models.py patrząc jak:
from django.contrib.auth.models import User
from django.db import models
class BasicCompany(models.Models)
owner = models.ForeignKey(User)
name = models.CharField()
street_address = models.CharField()
#etc...
class Meta:
abstract = True
class EmailAddress(models.model)
email = models.EmailField()
basiccompany = models.ForeignKey(BasicCompany, related_name="email_addresses")
#etc for URLs, PhoneNumbers, PaymentTypes.
Co ja nie wiem jak to zrobić, to dziedziczą EMAILADDRESS adresów URL PhoneNumbers (ETC) w klasach potomnych. Czy można to zrobić, a jeśli tak, to w jaki sposób? Jeśli nie, byłbym wdzięczny za porady dotyczące obejścia.
Dzięki Daniel. Wczoraj przyglądałem się typom treści i ogólnym relacjom, ale tak naprawdę nie klikałem. Zamierzam wypróbować to teraz i sprawdzić, czy to rozwiązuje problem. –