Я использую Django Restframework 3.3.3, и я пытаюсь использовать общие представления, но я надеялся перезаписать сообщение об ошибке проверки серийности. Я получил следующий код, который получил «поле имени не может быть пустым», когда поле имени не указано.Перезаписать django restframework Сообщение об ошибке сериализации CreateModelMixin
class PositionList(generics.ListCreateAPIView):
"""Get the Position list, or add another Position only when you are admin"""
renderer_classes = ((BrowsableAPIRenderer, JSONRenderer))
permission_classes = (IsAuthenticatedOrReadOnly, IsAdminOrReadOnly,)
queryset = Position.objects.filter()
serializer_class = PositionSerializer
Мой вопрос: есть ли способ настроить сообщения об ошибках. Следующие методы не работают для меня: (1). Перезаписать метод init в классе сериализатора:
def __init__(self, *args, **kwargs):
super(UserSerializer, self).__init__(*args, **kwargs)
self.fields['name'].error_messages['required'] = 'My custom required msg'
(2). Дайте сообщение об ошибке в классе сериализатора:
class PositionSerializer(serializers.ModelSerializer):
class Meta:
model = Position
fields = ('id', 'name', 'description')
extra_kwargs = {"name": {"required": _("Customized message goes here")}}
Любой советует приветствуются, спасибо заранее
Почему это 'MyModel' вместо' Position' в вашем сериализатором ? –
Нет, эта проблема уже редактировалась. Все еще не могу понять, почему сообщение об ошибке нельзя настроить. – shady
Возможный дубликат [Пользовательские сообщения об ошибках в Django Rest Framework serializer] (http://stackoverflow.com/questions/26943985/custom-error-messages-in-django-rest-framework-serializer) –