Luc*_*ang 17 python django django-timezone
这个问题现在已经发生了几个星期,而且与我的项目提出的不同.
使用的两个模型具有时间戳字段,默认情况下设置为timezone.now().
这是引发错误标志的序列:
模型一在下午7:30创建
模型二是在晚上10点创建的,但在MySQL数据库中它存储为晚上7:30!
创建的每个模型的时间戳都保存在下午7:30,而不是实际时间,直到某个持续时间过去.然后设置一个新的时间,所有以下模型都有新的时间... Bizzare
一些额外的细节可能有助于发现问题:
我有一堆方法可以剥离我们的时区,tzinfo并用UTC替换它们.
这是因为我正在进行timezone.now() - creationTime计算以创建:"模型在很久以前发布"功能在项目中.但是,这确实不应该是问题的原因.
我认为使用datetime.datetime.now()不会产生任何影响.
无论如何,谢谢你的帮助!
Jam*_*arp 53
上个星期刚刚进入了一个有这个领域的领域default=date.today().如果删除括号(在本例中为try default=timezone.now),则将可调用函数传递给模型,每次保存新实例时都会调用它.使用括号,它只在models.py加载时被调用一次.
Rag*_*gar 11
只需auto_now_add像这样设置参数即可.
timestamp = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
更新:
请不要使用auto_now_add.这不是推荐的方式,而是这样做:
from django.utils import timezone
timestamp = models.DateTimeField(default=timezone.now)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13049 次 |
| 最近记录: |