Partial update method now is also transactional as its friend update method.

remotes/origin/enhancement/email-actions
Andrey Antukh 2014-04-19 22:55:10 +02:00
parent 72eae39c53
commit d296387651
1 changed files with 7 additions and 1 deletions

View File

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import reversion
from django.db import transaction from django.db import transaction
from rest_framework import viewsets from rest_framework import viewsets
@ -10,7 +12,6 @@ from rest_framework.response import Response
from reversion.revisions import revision_context_manager from reversion.revisions import revision_context_manager
from reversion.models import Version from reversion.models import Version
import reversion
from . import pagination from . import pagination
@ -18,6 +19,8 @@ from . import serializers
from . import decorators from . import decorators
# Transactional version of rest framework mixins.
class CreateModelMixin(mixins.CreateModelMixin): class CreateModelMixin(mixins.CreateModelMixin):
@transaction.atomic @transaction.atomic
def create(self, *args, **kwargs): def create(self, *args, **kwargs):
@ -35,6 +38,9 @@ class UpdateModelMixin(mixins.UpdateModelMixin):
def update(self, *args, **kwargs): def update(self, *args, **kwargs):
return super().update(*args, **kwargs) return super().update(*args, **kwargs)
@transaction.atomic
def partial_update(self, request, *args, **kwargs):
return super().partial_update(request, *args, **kwargs)
class ListModelMixin(mixins.ListModelMixin): class ListModelMixin(mixins.ListModelMixin):
@transaction.atomic @transaction.atomic