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

我正在尝试以UTC格式保存日期,但它被保存在我的localtimezone 中 没关系,Django view但在.save()它作为“localtimezone”存储在数据库中之后


我的 setting.py


LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_TZ = True

model.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)

PS我也改变了我的postgres时区来UTC喜欢这个


set timezone='UTC';

但它没有用。


ibeautiful
浏览 224回答 1
1回答

慕容森

如果要更改 Postgresql 的时区,请执行以下命令:ALTER USER User_Name SET TimeZone TO 'utc';并通过以下方式重新启动 postgres 服务:sudo service postgresql restart
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python