Skip to content

Instantly share code, notes, and snippets.

@awentzonline
Created May 19, 2014 16:36
Show Gist options
  • Select an option

  • Save awentzonline/0009a444d2d3281b0b0f to your computer and use it in GitHub Desktop.

Select an option

Save awentzonline/0009a444d2d3281b0b0f to your computer and use it in GitHub Desktop.
def from_native(self, data, files):
identity = self.get_identity(data)
if identity:
obj = self.opts.model.objects.get(id=identity)
dirty = False
for field_name, field_serializer in self.fields.items():
val = field_serializer.from_native(data[field_name])
if getattr(obj, field_name) != val:
setattr(obj, field_name, val)
dirty = True
if dirty:
obj.save()
else:
obj = super(YourSerializer, self).from_native(data, files)
return obj
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment