Я пытаюсь наследовать модель на моем сайте с поддержкой Django, чтобы придерживаться DRY. Моя цель - использовать абстрактный базовый класс BasicCompany для предоставления общей информации для трех дочерних классов: Butcher, Baker, CandlestickMaker (они расположены в их собственных приложениях под соответствующими именами).
Каждый из дочерних классов нуждается в переменном количестве вещей, таких как адреса электронной почты, номера телефонов, URL-адреса и т. Д., Начиная от 0 и выше. Поэтому я хочу, чтобы между этими классами и компанией, на которую они ссылаются, были отношения многие-к-одному / ForeignKey. Вот примерно то, что я представляю, как выглядит BasicCompany / models.py:
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.
Что я не знаю, как это сделать, это унаследовать EmailAddress, URL, PhoneNumbers (и т. Д.) В дочерние классы. Можно ли это сделать, и если да, то как? Если нет, я был бы признателен за ваши советы по обходным путям.