Mongoengine datetime "bug" -- 保存服务器启动时间而不是当前时间戳

Mongoengine datetime "bug" -- saving server started time instead of current timestamp

我正在这样设置我的模型:

class user(db.Document):
    created_at = db.DateTimeField(default=datetime.datetime.now())

我希望每当新用户实例为 .save() 时,它都会有当前时间戳。但是当我在本地机器上测试时,所有时间戳似乎都是服务器启动时的时间戳 运行。

还有其他人有这个问题吗?

谢谢!

您想传入方法而不调用它,例如:

db.DateTimeField(default=datetime.datetime.now)

您执行此操作的方式仅在应用程序启动时对函数求值一次,因此该时间始终是 created_at 的值。