【发布时间】:2017-04-14 21:28:00
【问题描述】:
在我的一个 Django 应用程序中,用户发布保存为 photo 对象的照片。然后,查看者可以在每张照片下发布 cmets,保存为在 photo 对象上具有外键的 photocomment 对象。
我正在尝试编写一个 ORM 查询,在每个请求的照片对象的位置,我附加了它获得的唯一 cmets 的数量。唯一意味着由唯一的user_id 发表评论。 IE。如果同一个人/女孩评论了 1000 次,它仍然是 1 条独特的评论。
我该如何做到这一点?
到目前为止,我想出了以下几点:
relevant_photos = Photo.objects.filter(id=set_of_ids)
PhotoComment.objects.filter(which_photo_id__in=relevant_photos).annotate(unique_comment_count=Count("submitted_by")).distinct("submitted_by")
我觉得这行不通,因为我并没有真正计算distinct 的评论者。这样做的正确方法是什么?试图把我的头缠在它周围。
【问题讨论】:
标签: django django-queryset django-orm