Django DRF: как изменить формат даты в моем serializer.py? - PullRequest
1 голос
/ 17 марта 2020

Я новичок в Django DRF и мне нужен небольшой совет. Моя проблема: я хочу изменить стандартные модели. Поле даты в следующем формате "% d-% m-% Y". Я хочу сделать это для поля «день рождения» или вообще для проекта.

Я пытался напрямую в model.py с:

.... birthday = models.DateField (null = True, input_formats = "% d-% m-% Y") но это не сработало. ....

Я также добавил в setting.py

REST_FRAMEWORK = {"DATE_INPUT_FORMATS": ["% d-% m-% Y"],}, но это не сработало ,

Теперь я хочу попробовать в serializer.py, но, учитывая мой класс, я не знаю, где это сделать. Мой serializer.py выглядит так:

from rest_framework import serializers
from payload.models import Payload

class PayloadSerializer(serializers.ModelSerializer):
    class Meta:
        model = Payload
        fields = ['first_name', 'last_name', 'email', 'birthday',]

    def create(self, validated_data):
        """
        Create and return a new `payload` instance, given the validated data.
        """
        return Payload.objects.create(**validated_data)

    def update(self, instance, validated_data):
        """
        Update and return an existing `payload` instance, given the validated data.
        """
        instance.first_name = validated_data.get('first_name', instance.first_name)
        instance.last_name = validated_data.get('last_name', instance.last_name)
        instance.email = validated_data.get('email', instance.email)
        instance.birthday = validated_data.get('birthday',instance.birthday)
        instance.save()

        return instance   

ТАК вопрос: где и как я могу изменить в этом классе формат поля именинника?

Большое спасибо заранее

лучший

Реми

1 Ответ

1 голос
/ 17 марта 2020

добавить это к вашему settings.py

DATE_INPUT_FORMATS = ["%d-%m-%Y"]
...