Фильтрация объектов в массиве Django?

есть модель
class Blog:
    name = некоторое поле
   
class Entry:
    blog = models.ForeignKey(Blog)
    is_published = models.BooleanField()

blogs = Blog.objects.all()


вот в объекте blogs нужно отфильтровать все entries, которые не опубликованы(is_published=False)
Blog.objects.filter(entries__is_published=True) фильтрует сами блоги, а не записи в них
  • Вопрос задан
  • 546 просмотров
Пригласить эксперта
Ответы на вопрос 2
zymanch
@zymanch
python/django web-developer
according to документация, вам надо использовать entries__set
кроме того, совсем не ясно, почему вы пытаетесь фильтровать is_published=True, когда сами же пишете, что нужны неопубликованные...
Ответ написан
Комментировать
winordie
@winordie
Лучшая документация -- исходники
class Blog: 
  name = некоторое поле

  def non_published_entries(self):
    return Entry.objects.filter(blog=self, is_published=False)

for blog in Blog.objects.all():
  print(blog.non_published_entries())
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы