Сериализатор Django не выводит время с часовым поясом

Я пытаюсь вывести мои поля времени с часовым поясом, т.е. вот так

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, что мне и нужно.

Я не понимаю, как это происходит, и не смог найти никакой информации, кроме того, что это два формата

Модель:

class Challenge(models.Model):
    name = models.CharField(max_length=120)
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL, on_delete=CASCADE, related_name="challenge_user"
    )
    start_date = models.DateTimeField()`
Вернуться на верх