/ / सामूहिक ब्लॉग के प्रत्येक लेखक के लिए हाल ही में प्रकाशित प्रविष्टि को एकत्रित करने के लिए मैं Django क्वेरी कैसे लिख सकता हूं? - पायथन, django, django-model, django-queryset

एक सामूहिक ब्लॉग के प्रत्येक लेखक के लिए हाल ही में प्रकाशित प्रविष्टि को एकत्रित करने के लिए मैं Django क्वेरी कैसे लिख सकता हूं? - पायथन, django, django-models, django-queryset

निम्नलिखित सरलीकृत मॉडल मानें:

class Blog(models.Model):
name = models.CharField()

class Author(models.Model):
blog = models.ForeignKey("Blog", related_name="authors")

class Entry(models.Model):
author = models.ForeignKey("Author", related_name="entries")
published_on = models.DateTimeField(auto_now_add=True)

किसी विशेष ब्लॉग की प्राथमिक कुंजी को देखते हुए, मैं प्रविष्टियों की क्वेरीसेट कैसे प्राप्त करूं, जैसे कि क्वेरीसेट में प्रत्येक लेखक की केवल सबसे हालिया प्रविष्टि होती है?

उत्तर:

उत्तर № 1 के लिए 1

यहां जवाब मिला:

Django पूछताछ है कि विभिन्न श्रेणियों से सबसे हाल की वस्तुओं को मिलता है

authors = Author.objects.annotate(latest_entry_published_on=Max("entries__published_on"))
entries = Entry.objects.filter(published_on__in=[a.latest_entry_published_on for a in authors])

जवाब के लिए 0 № 2

मैं कुछ ऐसा करने की कोशिश करता हूं:

Entry.objects.order_by("-published_on").values_list("author_id").distinct()