python - 文档中的 Mongoengine creation_time 属性

标签 python django orm mongodb mongoengine

我正在尝试将 creation_time 属性添加到我的文档中。下面是一个例子:

import datetime

class MyModel(mongoengine.Document):
    creation_date = mongo.DateTimeField()
    modified_date = mongo.DateTimeField(default=datetime.datetime.now)

Django 模型为其 DateTimeField 对象(如 add_now 等)内置了参数, 但是 MongoEngine 不支持这个。

我想知道最好的方法是否如下:

m,created = MyModel.objects.get_or_create()
if created:
    m.creation_date = datetime.datetime.now()

或者如果有更好更好的方法。

最佳答案

您可以覆盖保存方法。

class MyModel(mongoengine.Document):
    creation_date = mongo.DateTimeField()
    modified_date = mongo.DateTimeField(default=datetime.datetime.now)

    def save(self, *args, **kwargs):
        if not self.creation_date:
            self.creation_date = datetime.datetime.now()
        self.modified_date = datetime.datetime.now()
        return super(MyModel, self).save(*args, **kwargs)

关于python - 文档中的 Mongoengine creation_time 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098122/

相关文章:

python - 如何在基于 django 类的 View 中获取 HTTP 响应状态?

javascript - Django 从模板写入上下文

java - 这个 ORM 模式叫什么

python - OpenCV灰度转换错误

python - 无法构建轮子 - 错误 : invalid command 'bdist_wheel'

ruby-on-rails - Rails 替代 Django 管理面板/CRUD View 生成器?

php - fatal error : Class ConnectionWrapper not found in ConnectionFactory. PHP

hibernate - grails 在 hibernate 中映射非域类的正确方法

python - 如何使用Python删除csv文件中的双引号(")?

python - 使用 dask 加载大型压缩数据集