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.
datetime_field = self.datetime_field.replace(tzinfo=None)timestamp with time zoneand handle time zones in the database, or usetimestamp without time zone, store UTC timestamps there and handle time zones in the application. Don't mix.