निम्नलिखित सरलीकृत मॉडल मानें:
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()