Django reverse foreignkey筛选器返回多个相同的对象

Django reverse foreignkey筛选器返回多个相同的对象,django,django-orm,Django,Django Orm,我有一个最喜欢的系统。因此,我检查是否有用户已经喜欢该帖子。我已经写了这个查询。但是有一个问题,因为我没有删除收藏夹的记录。我只是更改收藏夹记录的状态。因此,如果用户之前删除了收藏夹,我的查询集将为每个收藏夹返回2行。我正在使用MySQL作为数据库 def是您的最爱(自我、用户): 如果user.u经过身份验证: return self.annotate(is_favorite=Case( 当(Q(收藏夹用户=用户,收藏夹已删除=False),则=值(True)), 默认值=值(假), 输出_字

我有一个最喜欢的系统。因此,我检查是否有用户已经喜欢该帖子。我已经写了这个查询。但是有一个问题,因为我没有删除收藏夹的记录。我只是更改收藏夹记录的状态。因此,如果用户之前删除了收藏夹,我的查询集将为每个收藏夹返回2行。我正在使用MySQL作为数据库

def是您的最爱(自我、用户):
如果user.u经过身份验证:
return self.annotate(is_favorite=Case(
当(Q(收藏夹用户=用户,收藏夹已删除=False),则=值(True)),
默认值=值(假),
输出_字段=布尔字段()
)
).prefetch_相关(“收藏夹”)
返回self.annotate(is_favorite=Value(False,output_field=BooleanField())
我的问题

Blog.objects.all()
Queryset回归

[
{
“id”:1,
“标题”:“富”,
“你最喜欢的是什么”:false
},
{
“id”:1,
“标题”:“富”,
“你最喜欢什么”是真的吗
}
]

请添加
博客
模型片段