Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-给定日期和时间,如何手动设置DateTimeField值?_Python_Django_Datetime_Django Queryset - Fatal编程技术网

Python Django-给定日期和时间,如何手动设置DateTimeField值?

Python Django-给定日期和时间,如何手动设置DateTimeField值?,python,django,datetime,django-queryset,Python,Django,Datetime,Django Queryset,如何手动设置给定日期和时间的DateTimeField值 这是我的模型,我正在尝试将日期和时间值分配给“created_at”字段: 以下是我在控制台中尝试的内容:​ ​ >o=attention.objects.last() >o.u在 datetime.datetime(2018,6,26,0,45,31829827,tzinfo=) >x=datetime.strtime('17/07/2018 12:20','%d/%m/%Y%H:%m') >x datetime.datetime(20

如何手动设置给定日期和时间的DateTimeField值

这是我的模型,我正在尝试将日期和时间值分配给“created_at”字段:

以下是我在控制台中尝试的内容:​ ​

>o=attention.objects.last()
>o.u在
datetime.datetime(2018,6,26,0,45,31829827,tzinfo=)
>x=datetime.strtime('17/07/2018 12:20','%d/%m/%Y%H:%m')
>x
datetime.datetime(2018,7,17,12,20)
>o、 更新的_at=x
o、 保存()
>z=attention.objects.last()
>z、 更新地址
datetime.datetime(2018,7,29,12,0,13,204815,tzinfo=)

请注意,我设置了“2018,7,17”,但显示为“2018,7,29”。作业正确吗?可能它也需要时区。

因此,如果您试图将updated_at字段设置为当前的亚洲/吉隆坡时区,则需要生成datetime.datetime(2018、7、29、12、0、13、204815、tzinfo=)和适当的tzinfo值

这是以下两个堆栈溢出答案的组合:

您的结果调用将引用

Asia/Kuala_Lumpur
这个电话可能看起来像:

x = datetime.tzinfo("Asia/Kuala_Lumpur")
y = datetime.datetime(2018, 7, 29, 12, 0, 13, 204815, x)

datetimes
如果
使用TZ
真的
,则将

唯一的解决方法是将
USE_TZ
设置为
False
auto_now
,其中包含以下内容:

如果
USE_TZ
False
,则这将是表示系统本地时区中当前时间的原始日期时间(即没有关联时区的日期时间)。


转换时间并将其存储在DB中不是一个好方法,因此,在需要时转换时间

您确定o和z是同一个对象吗?此代码似乎正确,但可能是更改/保存对象会使不同的对象响应“Attention.objects.last()”。是的,在我的本地计算机上开发时也是如此。我被告知auto_now_add可能是个问题,是否应该使用默认值而不是您意识到您的auto_now可能正在工作并覆盖字段中更新的_,对吗?由于您正在更新更新的\u at字段并获得今天的结果,根据自动\u现在的应用时间,您似乎获得了两个可能正确的结果之一。哦,我没有意识到,我们在更新的\u at上进行测试,因为我不想触摸创建的\u at。也许您可以添加一个额外的字段来检查更新的\u at。。。。。在我看来,您的代码似乎正在按编写的方式工作。它不工作。它有以下错误类型错误:tzinfo参数必须为None或tzinfo子类,而不是“str”类型。也许它应该像这样工作?不确定。我用“US/Pacific”尝试了你的代码,在控制台中使用了一点,我认为这解决了你的问题。
Asia/Kuala_Lumpur
x = datetime.tzinfo("Asia/Kuala_Lumpur")
y = datetime.datetime(2018, 7, 29, 12, 0, 13, 204815, x)