Вы можете получить список Genre
s, которые имеют не менее один , связанный Book
с:
Genre.objects.filter(<b>book__isnull=False</b>)<b>.distinct()</b>
.distinct()
являетсяздесь необходимо, так как в противном случае вы получите Genre
в вашем наборе запросов, один раз для каждого связанного Book
.
Django создаст для этого запрос, который выглядит следующим образом:
SELECT <b>DISTINCT</b> genre.*
FROM genre INNER JOIN book_genre ON genre.id = book_genre.genre_id
WHERE <b>book_genre.book_id IS NOT NULL</b>