mongoengine referencefield未更新

时间:2016-02-15 17:08:34

标签: 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, db_field='group_id')

现在 - 当我设置项目 - >组 - >政策关系一切正常,直到我更新政策。

我在代码中执行此操作,该代码最终会更改Policy类型对象中的.name(将其称为x)并运行x.save()

正确政策中的数据库完全更新,ObjectId没有任何更改(也不是ReferenceField对象)

但仍然:

item = Item.objects.get(foo='needed_item')
policy = item.group.policy

policy.name包含旧值(就好像它根本没有更新)

ReferenceField是否有手册"刷新"我需要跑?

1 个答案:

答案 0 :(得分:0)

如果您将实例存储在内存中,则需要在文档上调用reload方法。