【发布时间】:2020-06-27 09:37:51
【问题描述】:
我正在使用 docker-compose 作为注册表单,其中 api 和数据库位于不同的容器中。 注册响应显示我想要的系统日期和时间,但在 postgres 日期字段中显示不正确的数据,我不知道它使用的是哪种时间格式。代码是用 python 和 Django 框架编写的。请帮助我。 以下是邮递员的回复:
{
"success": 1,
"msg": "Registration Success",
"details": {
"email": "test22@gmail.com",
"mobile_num": "5698745210",
"date_joined": "2020-06-27T14:43:28.329284",
"user_type": [
"Companion",
"Community"
],
"otp_verified": false
}
}
这里 date_joined 字段选择系统日期时间,这不是我关心的问题,但在 postgres 数据库中,数据是这样的:
2020-06-27 09:13:28.329284+00
注册的时间是下午 2:30,但是 postgres 显示的是 9:13。 模型源码在这里:
now = datetime.datetime.now()
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=40, unique=True)
date_joined = models.DateTimeField(default=now)
user_type = ArrayField(models.CharField(max_length = 20))
mobile_num = models.CharField(max_length = 15)
otp_verified = models.BooleanField(default=False)
此外,每当我重新构建容器时,docker 将日志显示为:
django_app_1 | /usr/local/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1421: RuntimeWarning: DateTimeField User.date_joined received a naive datetime (2020-06-27 14:43:28.329284) while time zone support is active.
django_app_1 | RuntimeWarning)
谁能告诉我哪里出错了?
【问题讨论】:
标签: postgresql django-models docker-compose python-datetime django-timezone