django - Getting Posts and its last comment in a single queryset -
let's assume i've classic blog post
multiple related comment
s model. i'm trying list of posts each annotated last comment (or @ least single field it).
the closest i've gotten via:
post.objects.annotate(last_comment=f('comment__text'))
but returns body first commend, , explicitly want last.
am missing pretty obvious? or there smart way of doing i'm failing see?
if want retrieve latest comment, might want specify ordering
on meta
something this:
class comment(models.model): ... class meta: ordering = ('-created_at', ) #or id, or whatever
then, query
post.objects.annotate(last_comment=f('comment__text'))
would retrieve latest post.
specifying ordering
(in case) equivalent of saying comments.objects.order_by('-created_at')
, , work, want latest comment.
one caveat here though is, ordering
applied default everywhere comments retrieved. also, has database implications ordering not free
Comments
Post a Comment