Я хочу иметь внешний ключ для родительского класса, тем самым позволяя также запрашивать дочерние классы. Все остальные решения кошмарны. Я попытался сделать это (Destination также родительский класс, который имеет # детских классов, которые я хочу коснуться):django model inheritance & FK, не удалось создать уникальный индекс
class Destination(PolymorphicModel)
class Account(Destination)
class Organization(Destination)
class Person(Destination)
class Transaction(models.Model)
destination = models.ForeignKey(Destination, verbose_name="Destination", null=True, blank=True,
related_name="CompletedTransaction_Destination_FK")
Я ссылки назначения в других местах. Это сообщение об ошибке я получаю, когда я пытаюсь перенести:
psycopg2.IntegrityError: не удалось создать уникальный индекс «baseapp_organization_organization_destination_ptr_id_key» подробность: Ключ (organization_destination_ptr_id) = (1) дублируется.
Я хотел бы, если бы я мог сделать класс назначения
abstract = True
, но тогда я не могу иметь внешний ключ. Мне нужно иметь возможность выбирать все эти пункты назначения, и им нужно оставаться отдельными реальными моделями в базе данных.
Я также пробовал GenericRelations, но это оказалось кошмаром, как я сказал ранее.
Чувствую, что я могу как-то обойти эту ошибку, хотя бы любую помощь?