Django как вывести поле datetimefield с временной зоной
Я пытаюсь вывести мои поля времени с часовым поясом, т.е. вот так
2022-03-28T00:00:00+05:30
Мой сериализатор выглядит так
class ChallengeReadSerializer(serializers.ModelSerializer):
start_date = serializers.DateTimeField(format='iso-8601')
class Meta:
model = models.Challenge
fields = [
"start_date",
]
Печатает это 2022-03-23T03:16:00Z
Когда я модифицирую сериализатор следующим образом
class ChallengeReadSerializer(serializers.ModelSerializer):
start_date = serializers.SerializerMethodField()
class Meta:
model = models.Challenge
fields = [
"start_date",
]
def get_start_date(self, obj):
return obj.start_date.isoformat()
Он печатает 2022-03-28T00:00:00+05:30, что мне и нужно.
Я не понимаю, как это происходит, и не смог найти никакой информации, кроме того, что это два формата, как .isoformat() печатает часовой пояс и (format='iso-8601') не печатает TZ