Поиск объектов с отношениями "многие-ко-многим" 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))
Что я сделал не так?