为了账号安全,请及时绑定邮箱和手机立即绑定

PostgreSQL 在“本地时区”中保存日期,而我使用 Django 将其设置为“UTC”

PostgreSQL 在“本地时区”中保存日期,而我使用 Django 将其设置为“UTC”

ibeautiful 2021-11-16 15:31:12
我正在尝试以UTC格式保存日期,但它被保存在我的localtimezone 中 没关系,Django view但在.save()它作为“localtimezone”存储在数据库中之后我的 setting.pyLANGUAGE_CODE = 'en-us'TIME_ZONE = 'UTC'USE_TZ = Truemodel.pyclass 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)PS我也改变了我的postgres时区来UTC喜欢这个set timezone='UTC';但它没有用。
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

如果要更改 Postgresql 的时区,请执行以下命令:

ALTER USER User_Name SET TimeZone TO 'utc';

并通过以下方式重新启动 postgres 服务:

sudo service postgresql restart


查看完整回答
反对 回复 2021-11-16
  • 1 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号