小编jed*_*die的帖子

暂时禁用auto_now/auto_now_add

我有这样的模型:

class FooBar(models.Model):
    createtime = models.DateTimeField(auto_now_add=True)
    lastupdatetime = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

我想覆盖一些模型实例的两个日期字段(在迁移数据时使用).目前的解决方案如下:

for field in new_entry._meta.local_fields:
    if field.name == "lastupdatetime":
        field.auto_now = False
    elif field.name == "createtime":
        field.auto_now_add = False

new_entry.createtime = date
new_entry.lastupdatetime = date
new_entry.save()

for field in new_entry._meta.local_fields:
    if field.name == "lastupdatetime":
        field.auto_now = True
    elif field.name == "createtime":
        field.auto_now_add = True
Run Code Online (Sandbox Code Playgroud)

有更好的解决方案吗?

django datetime

91
推荐指数
7
解决办法
2万
查看次数

标签 统计

datetime ×1

django ×1