OLD ANSWER for django rest framework 2.3.12:
, - , , self.object, , serializer.object.
, pre_save, serializer.object, .
- self.object, self.get_object_or_none(). obj pre_save.
def pre_save(self,obj):
unchanged_instance = self.object
changed_instance = obj
.....
django rest framework 3.3:
pre_save post_save http://www.django-rest-framework.org/topics/3.0-announcement/#generic-views
execute_update. :
def perform_update(self, serializer):
old_obj = self.get_object()
new_data_dict = serializer.validated_data
if old_obj.name != new_data_dict['name']:
do_something
.....
new_obj = serializer.save()
......