Python mongoengine引用字段未更新
我有3个Python mongoengine引用字段未更新,python,mongodb,mongoengine,Python,Mongodb,Mongoengine,我有3个Document课程: class Policy(Document): name = StringField(required=True) class Group(Documet): # ... policy = ReferenceField('Policy', db_field='policy_id') class Item(Document): foo = StringField() group = ReferenceField(Group
Document
课程:
class Policy(Document):
name = StringField(required=True)
class Group(Documet):
# ...
policy = ReferenceField('Policy', db_field='policy_id')
class Item(Document):
foo = StringField()
group = ReferenceField(Group, db_field='group_id')
现在-当我设置项->组->策略关系时,在我更新策略之前,一切都正常
我是在一个最终会改变的代码中完成的。在策略中命名类型对象(将称之为x)并运行x.save()
正确策略中的数据库得到完美更新,ObjectId
s没有任何更改(也没有ReferenceField
对象)
但仍然:
item = Item.objects.get(foo='needed_item')
policy = item.group.policy
policy.name
包含旧值(就好像它根本没有更新一样)
ReferenceField
是否有手动“刷新”我需要运行?如果实例存储在内存中,则需要调用文档中的方法。谢谢。每次访问ReferenceField之后都需要调用reload,这似乎有点蹩脚。我本以为打电话给save会把事情弄清楚,弄得一团糟。。。