我正在尝试以 UTC
格式保存日期,但它保存在我的 localtimezone
之前没问题,直到 Django view
但之后 .save()
它在数据库中存储为 'localtimezone'
我的setting.py
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_TZ = True
模型.py
class Career(models.Model):
"""
model for storing all leads from career section of front apps
"""
name = models.CharField(max_length=200)
email = models.CharField(max_length=200)
phone = models.CharField(max_length=20, blank=True, null=True)
status = models.BooleanField(default=1)
created_on = models.DateTimeField(null=True, blank=True)
updated_on = models.DateTimeField(null=True, blank=True)
class Meta:
db_table = 'career_leads'
我的views
文件
class CareerFormApi(APIView):
def post(self, request):
career_serializer = CareerPostSerializer(data=request.data)
career_data = request.data
if career_serializer.is_valid():
career_serializer.validated_data['created_on'] = timezone.datetime.now()
career_serializer.validated_data['updated_on'] = timezone.datetime.now()
# I am geeting correct time zone here.
print(timezone.datetime.now())
career_serializer.validated_data['status'] = True
#after save i check my Database where it saved as my localtime zone
career_serializer.save()
return Response({
'status': status_code.HTTP_201_CREATED,
'message': 'Detail has been saved successfully.'
}, status=status.HTTP_201_CREATED)
return Response(career_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
P.S. 我已经将我的 postgres
时区也更改为 UTC
,就像这样
set timezone='UTC';
但是没有用。
最佳答案
如果你想改变 Postgresql 的时区,通过这个命令:
ALTER USER User_Name SET TimeZone TO 'utc';
然后通过这个重启postgres服务:
sudo service postgresql restart
关于python - PostgreSQL 在 'Local time zone' 中保存日期,而我使用 Django 将其设置为 'UTC',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54825990/