models.py
class Post(models.Model):
title = ...
text = ...
category = models.ForeignKey('CategoryPost', ...)
class CategoryPost(models.Model)
title = ...
slug = ...
Как в одном queryset получить по одному последнему объекту в каждой категории?
т.е. допустим есть 5 категорий, нужно получить 5 последних постов по каждой категории.
БД MySQL, distinct() не поддерживает.
Пока получается так:
views.py
last_posts = []
for category in CategoryPost.objects.all():
post = Post.objects.filter(category=category).last()
last_posts.append(post)
Когда категорий 5 штук - норм., а если 150, то естественно сайт подтормаживает.