Столкнулся с проблемой, есть продукт, привязаный с помощью ManyToMany к категории. Хочу вытащить все продукты которые находятся и в категории Х и в категории У. Но так как ManyToMany хранит каждую связь с продуктом на отдельной строчке, то через Q выбрать не получится как я понял.
Для примера дам вариант который хочу сделать, но он естественно не рабочий иначе я бы не спрашивал ))
category1 = Category.objects.get(slug=brand)
category2 = Category.objects.get(slug=typeof)
products1 = Product.objects.filter(category=category1, category=category2)
Ещё была идея сделать так
category1 = Category.objects.get(slug=brand)
category2 = Category.objects.get(slug=typeof)
products1 = category1.product_set.all()
products2 = category2.product_set.all()
products = set(products1) & set(products2)
но тут тоже не получается, объекты по идее разные потому как id у строчек разные..
Как быть?