Скажем, у меня есть три модели - Персона, Еда, Аромат.
Персона и Аромат разделяют отношения многих ко многим (человеку может нравиться много вкусов).отношение «многие ко многим» (пища может иметь много вкусов).
Для любого конкретного человека я хотел бы вернуть все продукты, у которых есть набор вкусов, который является подмножеством вкусов этого человека.
Например,
personA.flavor.all () -> ['пряный', 'сладкий', 'горький']
foodA.flavor.all () -> ['spicy', 'sweet']
foodB.flavor.all () -> ['spicy,' bitter ']
foodC.flavor.all () -> [' bitter ',' greasy ']
Я бы хотел использовать фильтр Django для объектов Food.objects, чтобы он возвращал QuerySet, содержащий foodA и foodB.
Я понимаю, что могу добиться аналогичного результата, если я преобразую вкусы пользователя в набор и вызову issperset в каждом из ароматов пищи (и добавляю такую пищу в заранее определенный список), но яМне интересно (и надеюсь), есть ли более изящное решение, включающее функцию фильтра модели django, что-то, что вернет мне QuerySet вместо списка.
Заранее большое спасибо за вашу помощь.