我使用Django Restframework 3.3.3,和我試圖使用通用的意見,但我希望能改寫串行驗證錯誤消息。我得到了下面的代碼,當name字段沒有給出時,得到了「名稱字段不能爲空」。覆蓋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框架序列化的自定義錯誤消息](http://stackoverflow.com/questions/26943985/custom-error-messages-in-django-rest-framework-serializer) –