From 5200c2ceaa098225976b517eaef7652b5bd1af05 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Mon, 10 Nov 2014 09:29:41 +0200 Subject: [PATCH] Added old hooks mixins for those who need an easier migration path from 2.4.x to 3.x. --- rest_framework/mixins.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index 2074a1072..a968b41a4 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -10,6 +10,35 @@ from rest_framework import status from rest_framework.response import Response from rest_framework.settings import api_settings +class CreateOrUpdateHooksMixin(object): + def pre_save(obj): + pass + + def perform_create(self, serializer): + self.pre_save(serializer.instance) + serializer.save() + self.post_save(serializer.instance, created=True) + + def perform_update(self, serializer): + self.pre_save(serializer.instance) + serializer.save() + self.post_save(serializer.instance, created=True) + + def post_save(obj, created=False): + pass + +class DeleteHooksMixin(object): + def pre_delete(obj): + pass + + def perform_delete(self, instance): + self.pre_delete(instance) + instance.delete() + self.post_delete(instance) + + def post_delete(obj): + pass + class CreateModelMixin(object): """