gpt4 book ai didi

python - 在 Django 中,如何使用数据库时间保存或更新日期时间字段的日期时间?

转载 作者:行者123 更新时间:2023-11-30 22:42:35 25 4
gpt4 key购买 nike

db "T"和一个有日期时间字段的表,例如,

CREATE TABLE `exec_job` (
`job_id` int(11) NOT NULL AUTO_INCREMENT,
`status` int(11) NOT NULL,
`create_time` datetime NOT NULL,
`finish_time` datetime NOT NULL,
PRIMARY KEY (`job_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在一台机器上,例如机器IP为192.168.0.100。

我的 Django 应用程序“M”在另一台机器上,例如机器IP为192.168.0.200,应用程序 M 使用数据库 T。

当我保存或更新数据到数据库时,我发现“create_time”字段和“finish_time”字段使用 192.168.0.200 的时间来保存。同时,如何在我的 Django 应用代码中使用数据库时间保存或更新日期时间字段的日期时间?

像这样的模型类:

class ExecJob(models.Model):
JobId = models.AutoField(db_column = "job_id", primary_key = True)
Status = models.IntegerField(db_column = "status", default = 0)
CreateTime = models.DateTimeField(db_column = "create_time", auto_now_add = True)
FinishTime = models.DateTimeField(db_column = "finish_time", auto_now = True)
class Meta :
db_table = "exec_job"

应用代码如下:

jobobj = ExecJob(
#JobId = models.AutoField(db_column = "job_id", primary_key = True)
Status = 0,
#CreateTime = , # be commented
#FinishTime = timezone.now(), # be commented
)
jobobj.save()

最佳答案

您可以在模型类中创建以下方法

def save(self, *args, **kwargs):
if not self.id:
self.CreateTime = datetime.datetime.now()
self.FinishTime = datetime.datetime.now()
return super(ExecJob, self).save(*args, **kwargs)

关于python - 在 Django 中,如何使用数据库时间保存或更新日期时间字段的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703824/

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