django模型继承& FK无法创建唯一索引

时间:2016-01-17 00:20:37

标签: django inheritance foreign-keys polymorphism unique-index

我希望能够为父类提供外键,从而允许查询子类。所有其他解决方案都是噩梦。 我试图做到这一点(Destination也是一个父类,它有一个我想要关联的子类的数量):

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” 详细信息:Key(organization_destination_ptr_id)=(1)重复。

如果我可以制作目的地课程,我会很高兴

abstract = True

然后我不能拥有外键。我需要能够选择所有这些目的地,并且他们需要在数据库中保持不同的真实模型。

我也尝试过GenericRelations,但事实证明这是一个噩梦,正如我之前所说的那样。

感觉我能以某种方式绕过这个错误,但有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

解决方案,我猜它会适用于无法创建索引的其他错误,就是擦除数据库删除所有迁移。确实很痛苦,但现在我能做到:

destinations = Destination.objects.all()

根据django polymorphic

,它会给我所有的对象
相关问题