我有以下文件
Food(Document)
title = fields.StringField()
type = fields.StringField()
Recipe(Document)
title = fields.StringField()
food = fields.ReferenceField(Food)
我想获得食谱清单,食物类型为食物。= =" nonveg"
我可以执行以下操作吗?
Recipe.objects.where(food__type="nonveg")
谢谢!
答案 0 :(得分:0)
“类型”是mongodb中操作员的保留字。因此,您应该使用以下查询:Recipe.objects(food__type__="nonveg")
答案 1 :(得分:-1)
单个查询是不可能的,因为引用字段仅保存实际文档的id。 因此,你需要做两个查询
Food
下type
的所有对象。这可以通过代码foods = Food.objects(type='nonveg')
foods
对象列表将Recipe
集合过滤为:Recipe.objects(food__in=foods)
。此外,请记住,in
操作会获取一个列表,因此,即使您使用Step 1
完成以下步骤:
foods = Food.objects(type="nonveg")
recipes = Recipe.objects(food__in=foods)