是否可以返回每个外键只返回一个对象的查询集?
例如,我希望从 django_comments 获取最新评论,但我只想要每个对象一个评论(最新评论),即只返回一个对象的最新评论并排除该对象的所有过去评论。我猜这类似于 django_comments.content_type 和 django_comments.object_pk 上的 sql group_by。
++添加信息++
最终目标是创建一个活动评论“线程”列表,按哪个线程具有最新评论显示/排序,就像您的标准讨论板的主题按最近活动列出一样。
我认为最好的方法是获取最新的评论,然后按内容类型和 object_pk 对它们进行排序或分组,以便每个相关内容对象只返回一个评论(最新的)。然后我可以使用该评论来获取我需要的所有信息,因此线程一词的使用很松散,因为我实际上只是在获取评论并遵循它的 pk。
模型是 django_threadedcomments,它扩展了 django_comments 并添加了一些用于树、孩子和父母的字段。
看法:
...这将返回所有评论,包括所有父级实例
comments = ThreadedComment.objects.all().exclude(is_public='0').order_by("-submit_date")
...这是理想的
comments = ThreadedComment.objects.all().exclude(is_public='0').order_by("submit_date").[plus sorting logic to exclude multiple instances of the same object_pk and content_type]
模板:
{% for comment in comments %}
TITLE: {{comment.content_object.title}}
STARTED BY : {{comment.content_object.user}}
MOST RECENT REPLY : {{comment.user}} on {{comment.submit_date}}
{% endfor %}
再次感谢!