У меня есть эта модель (неактуальные поля скрыты):
class Blog(models.Model):
author = models.ForeignKey(Author, on_delete=models.CASCADE)
is_published = models.BooleanField(default=False)
published_date = models.DateTimeField(null=True, default=None, blank=True)
Я хочу получить только последнее сообщение каждого автора, отсортированное по дате публикации.
Я пробовал следующее, на мой взгляд:
blog_list = Blog.objects.filter(is_published=True).order_by('author', '-published_date').distinct('author')
Что работает, кроме, все записи блога сортируются в порядке авторов, а не по дате публикации.
Следующее действительно помогло бы, переключив порядок, но это вызывает ошибку в django:
blog_list = Blog.objects.filter(is_published=True).order_by('-published_date', 'author').distinct('author')
Я проверил все вопросы, подобные этому, и не нашел решения, которое работает. Я думаю, что этот запрос должен быть довольно простым, но я не вижу способа добиться этого.