0
我想获得食谱基于杂货查询集的查询集。 在我的models.py我有一个杂货店模型如何根据相关模型过滤查询集?
class Grocery(models.Model):
title = models.CharField(max_length=100)
picture = models.ImageField(upload_to='pictures/groceries', blank=True)
category = models.ForeignKey(Category, unique=False)
我有一个配方模型:
class Recipe(models.Model):
title = models.CharField(max_length=100)
chef = models.ForeignKey(settings.AUTH_USER_MODEL, unique=False, related_name='chefs_recipe')
text = models.TextField()
picture = models.ImageField(upload_to='pictures/recipes/title-photos', blank=True)
我有一个成分模型,它基本上是一个多对多的结表
class Ingredient(models.Model):
recipe = models.ForeignKey(Recipe, unique=False, related_name='recipeingredients')
grocery = models.ForeignKey(Grocery, unique=False)
quantity = models.DecimalField(max_digits=10, decimal_places=2)
PRIORITY = (
('high', 'inevitable'),
('average', 'replaceble'),
('low', 'flavoring')
)
priority = models.CharField(max_length=20, choices=PRIORITY)
我有一个由用户选择杂货的查询集。
我怎样才能得到可以用用户杂货烹饪食谱的查询集?这意味着我希望所有配方中的高优先级成分都包含在groceris queryset中。
def get_queryset(self):
groceries = Grocery.objets.filter(some_filter)
recipes = ?
我能想到的是一个循环,我将通过配方检查食谱,但它似乎主要是效率不高时,配方表将包含大量的数据。
有什么想法吗?
我appologize我自己清楚,我编辑我的问题。我不需要一个包含所有用户杂货的配方,我需要在食品杂货查询集中包含所属材料的收件人。如果我有一个没有所有成分的食谱,它应该在食谱queryset中 –