我有一个带有日期时间栏位的 Django 模型,如下所示:
date_creation = models.DateField(auto_now_add=True)
在本地,在我的机器上,此控制元件是使用本地日期和时间创建的。
部署应用程序时,不会使用本地时间创建该栏位。
我试图这样做:
date_creation = models.DateField(default=datetime.now())
这是行不通的。如何解决这个问题呢 ?我在中非
uj5u.com热心网友回复:
您应该传递一个callable,以便您可以传递该now
函式,或者更好地传递now
Djangotimezone
实用程序的函式:
from datetime import datetime
class MyModel(models.Model):
date_creation = models.DateField(default=datetime.now)
或使用timezone.now(…)
[Django-doc]:
from django.utils.timezone import now
class MyModel(models.Model):
date_creation = models.DateField(default=now)
然而,在设定中指定时区可能更好:
# settings.py
USE_TZ = True
TIME_ZONE = 'Africa/Bangui'
0 评论