У меня есть следующий запрос:Джанго фильтр на предвыборке
prefetch = Prefetch('books', queryset=Book.objects.filter(is_published=True),
to_attr='published_books')
profiles = Profile.objects.prefetch_related(prefetch)
Это выбирает все профили и заполнит их с опубликованными книгами. Тем не менее, я хочу только профили, которые фактически опубликовали книги (другими словами len(profile.published_books) > 0
).
Как я могу достичь этого в Орме?
UPDATE:
class Book(Model):
profile = ForeignKey(Profile, related_name="books", related_query_name="book")
name = CharField(max_length=250)
is_published = BooleanField(default=True)
class Meta:
unique_together = (('profile', 'name'),)
Не могли бы вы добавить соответствующую модель, пожалуйста? –
Готово. Пожалуйста, просмотрите обновление. –