我想编写一个匹配多个具有多种关系的对象的查询。
更清楚:
我有2个模型,它们之间有很多甚至很多关系。
class Recipe(models.Model):
dish = models.IntField()
ingredients = models.ManyToManyField(Ingredient)
class Ingredient(models.Model):
matching_ingredients = models.ManyToManyField(Recipe)
plate = models.CharField(max_length=25)
我的代码:
firstfruit = Fruit(dish_id=1234, name='apple')
secondfruit = Fruit(dish_id=1234, name='orange')
salad = Ingredient()
salad.matching_ingredients.add(firstfruit, secondfruit)
matching_ingredients_from_dish = Recipe.objects.all()
我尝试了这个,但是如果匹配的话,这将返回true:
Recipe.objects.get(matching_ingredients=matching_ingredients_from_dish)
我想看看每个matching_ingredients是否与每个matching_ingredients_from_dish匹配,就像完全匹配一样。