У меня есть 3 класса: Document
mongoengine referencefield не обновлял
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')
Теперь - когда я установил пункт -> Группа -> отношения политика, все хорошо, пока я не обновить политику.
Я делаю это в коде, который в конечном итоге изменения .name в объекте в Policy
типа (не будем называть его х) и запустить x.save()
БД в правильной политике обновляется полностью, ни один из ObjectId
с изменение (ни ReferenceField
объект)
Но все-таки:
item = Item.objects.get(foo='needed_item')
policy = item.group.policy
policy.name
содержит старое значение (как если бы она не была обновлена на всех)
У ReferenceField
есть инструкция «Обновить» Мне нужно запустить?
Спасибо. Кажется, что это хромает, что каждый раз, когда я обращаюсь к ссылочному полю, мне нужно снова вызвать перезагрузку. Я бы ожидал, что вызов .save поможет разобраться и сделать его грязным ... – Boaz