mongoengine 参考字段未更新

mongoengine referencefield not updated

我有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')

现在 - 当我设置 Item -> Group -> Policy 关系时,在我更新策略之前一切正常。

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

中的 .name

正确策略中的数据库得到完美更新,none 的 ObjectId 更改(也不是 ReferenceField 对象)

但仍然:

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

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

ReferenceField有手册吗"refresh"我需要运行?

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