class test(models.Model):
mobile_last_login = models.DateTimeField()
我需要将“mobile_last_login”字段的“timestamp without time zone”更改为“timestamp with time zone”。
答案 0 :(得分:0)
如果您在设置中设置了 DateTimeField
,则无法向 USE_TZ = True
添加时区 - Django 以 UTC 存储日期时间,否则设置为天真的日期时间。如果设置了 USE_TZ
,那么 Django 会自动应用时区偏移量,根据你的设置,从 DB 中获取数据。
如果您确实需要存储时区,最简单的解决方案可能是将其存储为单独的字段:
import pytz
class test(models.Model):
TIMEZONE_CHOICES = tuple(zip(pytz.all_timezones, pytz.all_timezones))
mobile_last_login = models.DateTimeField()
timezone = models.CharField(max_length=32, choices=TIMEZONE_CHOICES, default=str(pytz.utc))