Reputation: 1167
I m trying to save date in UTC
format, but it being save in my localtimezone
It is okay till Django view
but after .save()
it stores in database as 'localtimezone'
my 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'
my views
file
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. I have change my postgres
timezone as well in to UTC
like this
set timezone='UTC';
But it didn't work.
Upvotes: 3
Views: 2353
Reputation: 106
If you want change timezone of Postgresql, go through this command:
ALTER USER User_Name SET TimeZone TO 'utc';
And restart the postgres service through this:
sudo service postgresql restart
Upvotes: 9