Skip to content

Instantly share code, notes, and snippets.

@sergeybe
Last active August 29, 2017 05:32
Show Gist options
  • Save sergeybe/2e0b48373d8ee0b0a81b9e31b3dba3c7 to your computer and use it in GitHub Desktop.
Save sergeybe/2e0b48373d8ee0b0a81b9e31b3dba3c7 to your computer and use it in GitHub Desktop.
Rename fields in DRF serializer
class RenameFieldsSerializerMixin(object):
def rename_field_from(self, name):
return name.upper()
def rename_field_to(self, name):
return name.lower()
def to_internal_value(self, data):
instance = super().to_internal_value(data)
new_data = OrderedDict()
for name, value in data.items():
new_data[self.rename_field_to(name)] = value
return super().to_internal_value(new_data)
def to_representation(self, instance):
data = super().to_representation(instance)
new_data = OrderedDict()
for name, value in data.items():
new_data[self.rename_field_from(name)] = value
return new_data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment