Поиск объектов с отношениями "многие-ко-многим" Django [дубликат]

У меня есть модель

class Book(models.Model):
    name = models.CharField()

class BookShelf(models.Model):
    books = models.ManyToManyField(Book, on_delete=models.CASCADE)

Мне нужно найти книжную полку с объектами book1 и book2

Это работает, но я не думаю, что это оптимально
. shelf = BookShelf.objects.filter(books=book1).filter(books=book2)


Это тоже должно работать, но не работает:

from django.db.models import Q

shelf = BookShelf.objects.filter(Q(books=book1) & Q(books=book2))

Что я сделал не так?

Вернуться на верх