Meta.error_messages argument

This way you can pass error_messages to model fields like in django 1.6 model forms
This commit is contained in:
kosz85 2014-05-26 10:19:15 +02:00
parent 708b6a6c06
commit 6d55dcc4a3

View File

@ -624,7 +624,7 @@ class ModelSerializerOptions(SerializerOptions):
self.model = getattr(meta, 'model', None)
self.read_only_fields = getattr(meta, 'read_only_fields', ())
self.write_only_fields = getattr(meta, 'write_only_fields', ())
self.error_messages = getattr(meta, 'error_messages', {})
class ModelSerializer(Serializer):
"""
@ -842,6 +842,9 @@ class ModelSerializer(Serializer):
if model_field.help_text is not None:
kwargs['help_text'] = model_field.help_text
if model_field.name in self.opts.error_messages:
kwargs['error_messages'] = self.opts.error_messages[model_field.name]
return PrimaryKeyRelatedField(**kwargs)
@ -868,6 +871,9 @@ class ModelSerializer(Serializer):
if model_field.help_text is not None:
kwargs['help_text'] = model_field.help_text
if model_field.name in self.opts.error_messages:
kwargs['error_messages'] = self.opts.error_messages[model_field.name]
# TODO: TypedChoiceField?
if model_field.flatchoices: # This ModelField contains choices