Django rest framework пропускает ошибки поля в словаре extra_kwargs - PullRequest
0 голосов
/ 23 ноября 2018

Я настраиваю сообщение об ошибке does_not_exist для SlugField в моем сериализаторе следующим образом:

class PolicyCreateUpdateSerializer(serializers.ModelSerializer):
    source_ip_group = serializers.SlugRelatedField(queryset=IPGroup.objects.all(), slug_field='name',
                                                   error_messages={"does_not_exist": "Custom"})
    enabled = serializers.BooleanField()

    class Meta:
        model = Policy
        fields = ['id', 'name', 'source_ip_group', 'enabled']

Это работает, как и ожидалось. Однако, когда я пытаюсь добавить это в Metaатрибут класса, он не работает.

class PolicyCreateUpdateSerializer(serializers.ModelSerializer):
    source_ip_group = serializers.SlugRelatedField(queryset=IPGroup.objects.all(), slug_field='name')
    enabled = serializers.BooleanField()

    class Meta:
        model = Policy
        fields = ['id', 'name', 'source_ip_group', 'enabled']
        extra_kwargs = {'source_ip_group': {"error_messages": {"does_not_exist": "Custom"}}}

Что я делаю не так?

1 Ответ

0 голосов
/ 23 ноября 2018

Явное упоминание поля будет использоваться и будет игнорировать любые extra_kwargs для поля.

Ссылка: Инициализация полей сериализатора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...