两种模式的外键可能性

时间:2014-03-18 22:06:23

标签: python database django

假设我有两个模型EntryPost。简单的模型,但它们共享几个领域(主题,描述等......这是假设的,因为我还处于设计阶段)。我有另一个字段,确认,这只是EntryPostCustomer之间的关联。如果它仅针对Entry关系实现,它将如下所示:

class Acknowledgement(models.Model)

    entry = models.ForeignKey(Entry)
    customer = models.ForeignKey(Customer)

但是,我希望它能够作为EITHER EntryPostCustomer的连接表,而不是两者。我非常熟悉泛型键作为选项,但我不知道这是否是最好的路径,因为我想将外键限制为这两种模型类型中的一种。关于这个好方法的任何想法?

1 个答案:

答案 0 :(得分:1)

我将采取的路线是:

覆盖模型Acknowledgment的save()方法,并在save()中检查关系是否正常,否则抛出异常。