【发布时间】:2015-10-30 21:55:28
【问题描述】:
假设我有一个关系类,例如:
class Friendship(models.Model):
person1 = models.ForeignKey(Person, related_name='person1')
person2 = models.ForeignKey(Person, related_name='person2')
所以我想让这个对象对一对Persons 是唯一的。如果我只是简单地做unique_together = (("person1", "person2"),),那么我最终可以得到两个Friendship 对象,其中
FS1.person1 = A, FS1.person2 = B
FS2.person1 = B, FS2.person2 = A
我确实不想要这个。我想要两个人之间独特的友谊对象。那么如何确保任何一对Persons 最多有一个Friendship 对象?
谢谢!
【问题讨论】:
-
@Gocht 谢谢!从那篇文章看来,我可能会选择处理重复的友谊而不是那些:)我希望有一个更简单的方法..
-
我认为这就是你所需要的,因为对于每一个对称关系来说,槽表中只有一条记录。
-
看起来像,是的。但我一直害怕与 Django 的多对多关系。无论如何,似乎没有更简单的解决方案?
-
对于这种情况,存在对称关系,我是这么认为的。
标签: python django foreign-keys unique foreign-key-relationship