gpt4 book ai didi

python - pre_save 在 mongoengine update_one 中不起作用

转载 作者:行者123 更新时间:2023-12-05 07:03:46 25 4
gpt4 key购买 nike

我正在使用 Python mongoengine,我想定义回调,每次更新文档时都会调用它。

from mongoengine import *
from mongoengine import signals
from time import time

class Item(Document):
name = StringField()
modified = LongField()


def update_modified(sender, document):
document.modified = time()


signals.pre_save.connect(update_modified)

然而,当我更新文档时,update_modified 没有被调用:

Item.collection.objects(name="First").update_one(name="Second")

有什么办法可以解决吗?

最佳答案

mongoengine .update 实际上并不调用 .save。它直接在数据库级别运行。而 .update_one 只是调用 .updatehttps://github.com/MongoEngine/mongoengine/blob/51afeca747838614d2545460d83e43ac0c313d4b/mongoengine/queryset/base.py#L621

我也遇到了同样的问题。这是在他们的指南中。不是我迄今为止使用过的最好的 ORM 不会说谎...... GL https://github.com/MongoEngine/mongoengine/blob/96802599045432274481b4ed9fcc4fad4ce5f89b/docs/guide/signals.rst

关于python - pre_save 在 mongoengine update_one 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63137932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com