mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 04:50:12 +03:00
Merge b9d7a11156
into fd72a814f8
This commit is contained in:
commit
bb0cd85767
|
@ -6,10 +6,51 @@ which allows mixin classes to be composed in interesting ways.
|
|||
"""
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import warnings
|
||||
|
||||
from rest_framework import status
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.settings import api_settings
|
||||
|
||||
class CreateOrUpdateHooksMixin(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
warnings.warn('The pre_save and post_save hooks are deprecated. Use perform_create and perform_update instead.',
|
||||
PendingDeprecationWarning, stacklevel=2)
|
||||
super(CreateOrUpdateHooksMixin, self).__init__(*args, **kwargs)
|
||||
|
||||
def pre_save(obj):
|
||||
pass
|
||||
|
||||
def perform_create(self, serializer):
|
||||
self.pre_save(serializer.instance)
|
||||
instance = serializer.save()
|
||||
self.post_save(instance, created=True)
|
||||
|
||||
def perform_update(self, serializer):
|
||||
self.pre_save(serializer.instance)
|
||||
instance = serializer.save()
|
||||
self.post_save(instance, created=False)
|
||||
|
||||
def post_save(obj, created=False):
|
||||
pass
|
||||
|
||||
class DeleteHooksMixin(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
warnings.warn('The pre_delete and post_delete hooks are deprecated. Use perform_delete instead.',
|
||||
PendingDeprecationWarning, stacklevel=2)
|
||||
super(DeleteHooksMixin, self).__init__(*args, **kwargs)
|
||||
|
||||
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):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue
Block a user