2017-05-19 40 views
0

我有一个针对主题的审阅系统。用户可以查看一个主题,用户可以那个评论。检查一个对象是否存在于另一个模型foreignkey字段

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(例如用户A)的用户审查likes存在吗?现在我这样做:

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

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

回答

2

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

if user_review_obj.likes.filter(user=UserA).exists(): 
    # . . . 
相关问题