связаны через ForeignKey. Как мне фильтровать категории так, чтобы после мне не выдавалась категория, в которой нет постов?
сделай аннотацию количество постов у категории и потом отфильтруй по этому полю
Category.objects.filter().annotate('count_posts', Count('posts')).exclude(count_posts=0) типа вот так псевдокодом
Благодарю! Получилось
В продолжение спрошу posts = Prefetch('post', queryset=Post.objects.filter(publish=True).prefetch_related('rec')) categories = PostCategory.objects.filter().annotate(count_posts=Count('post')).exclude(count_posts=0).prefetch_related(posts) Нормально ли так запрашивать? Получилось 3 запроса в БД Что тут происходит Есть категории Категории без постов я не отдаю Посты с publish False я так же не отдаю У каждого поста есть рекомендованные посты (rec) Мб как то можно оптимизировать? Или 3 запроса ок?
Category.objects.exclude(post__isnull=True)
Начинает дублировать Категории, работает не оч
Решило проблему, спасибо))
А че не фильтр изнулл=Фолс?
А без него?
без него говорит дублирует
Обсуждают сегодня