DateField в DRF Джанго - PullRequest
       9

DateField в DRF Джанго

0 голосов
/ 15 января 2019

У меня есть модель с DateField.

class A(model.Model):
    a = model.DateField()


class SerializerA(serializers.ModelSerializer):
    class Meta:
        model = A
        fields = (a,)

У полезного груза, который я передаю, есть шанс, что он может отправлять только год, например: -

{
    "a": "1991"
}

Возвращает сообщение об ошибке,

"Date has wrong format. Use one of these formats instead: YYYY[-MM[-DD]]."

Я уже передаю один формат, как указано в сообщении об ошибке, но все равно получаю сообщение об ошибке.

Почему?

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Одним из простых решений будет определение field a как отдельного в вашем сериализаторе и предоставление достаточных значений для аргумента input_formats

<b>required_formats = ['%Y', '%d-%m-%Y']  # add other formats you need</b>


class SerializerA(serializers.ModelSerializer):
    <b>a = serializers.DateField(input_formats=required_formats)</b>

    class Meta:
        model = A
        fields = ('a',)
0 голосов
/ 15 января 2019

Вам необходимо установить для всех необходимых форматов даты переменную DATE_INPUT_FORMATS в settings.py, например:

DATE_INPUT_FORMATS = ['%d-%m-%Y']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...