В принципе, у меня есть модель, где я создал суперкласс, который разделяют многие другие классы, а затем каждый из этих классов имеет некоторые уникальные функции, которые отличаются друг от друга. Пусть говорят, что класс A является суперклассом, а классы B, C и D являются дочерними элементами этого класса.
Оба класса B и класс C могут иметь кратность класса D, однако я видел, что лучше всего установить отношение внешнего ключа в классе D, которое затем относится к его родительскому классу. Теперь на других языках я могу просто сказать, что у него есть отношение ForeignKey к классу A, а затем язык распознает истинный тип классов. Однако я не думаю, что это работает с Python.
Какой лучший рекомендуемый способ решения этой проблемы?
EDIT: Вот примерно то, что я имею в виду...
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.
По существу, класс B и класс C имеют несколько классов D. Но конкретный класс D принадлежит только одному из них.