Django中独特的两列

时间:2017-09-08 10:42:14

标签: django python-3.x web django-models

我正在开展一个社交网络项目,我需要为用户创建关注者和关注者,所以我使用另一个名为Follow的模型

class Follow(models.Model):
    follower = models.ForeignKey(User,on_delete=models.CASCADE,related_name="followers", blank=False,null=False)
    following = models.ForeignKey(User,on_delete=models.CASCADE,related_name="followings",blank=False,null=False)

    def __str__(self):
        return self.follower.username + " is following " + self.following.username

现在我将两个专栏组合在一起,例如有人无法跟踪自己,或者如果该记录存​​在,则不要再记录

如何使两条记录独特在一起

1 个答案:

答案 0 :(得分:4)

对于唯一记录,您可以添加元选项unique-together

class Follow(models.Model):
    # YOUR CODE HERE

    class Meta:
        unique_together = (("follower", "following"),)

对某些人来说不能跟随自己

您可以查看validating-fields-that-depend-on-each-other