检查另一个模型foreignkey字段中是否存在对象

时间:2017-05-19 16:21:17

标签: django

我有一个主题评论系统。用户可以审核主题,用户可以进行审核。

class UserReview(models.Model):
    subject = models.ForeignKey(Subject, blank=True, null=True)
    user = models.ForeignKey(User)
    review = models.TextField(null=True, blank=True)
    likes = GenericRelation('Like')

class Like(models.Model):
    user = models.ForeignKey(User)
    content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey('content_type', 'object_id')

    class Meta:
        unique_together = (('content_type', 'object_id', 'user'),)

如何检查用户评论的user中是否存在likes(例如UserA)?现在我这样做:

if user_review_obj.likes.filter(user=UserA).count() > 0:
    // exist...

但我希望还有另一种更好的方法。

1 个答案:

答案 0 :(得分:2)

您可以使用exists,但正确的用法是

if user_review_obj.likes.filter(user=UserA).exists():
    # . . .