Атомарные транзакции в действии DRF? - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь попасть в Django atomic transactions в первый раз.Интересно, есть ли возможность использовать что-то вроде этого:

class TaskViewSet(MultiSerializerViewSet):
    @transaction.atomic
    @action(methods=['PATCH'], detail=True)
    def move_task(self, request, pk):
        # making queries, trying to update them, roll back if last one fails.    
        return Response("message: SUCCESS", status=_status.HTTP_200_OK)

Я немного искал - есть некоторая информация о том, как использовать транзакции, но я не нашел никакой информации, если это возможноиспользуйте их с DRF.

1 Ответ

0 голосов
/ 09 октября 2018
class PayViewSet(ModelViewSet):

    @action(methods=['PATCH'], detail=True)
    @transaction.atomic
    def approval(self, request, *args, **kwargs):
        sid = transaction.savepoint()
        success = something 
        if success:
            transaction.savepoint_commit(sid)
            return success_response('yes')
        else:
            transaction.savepoint_rollback(sid)
            return error_response('no')

Точка сохранения может быть в зависимости от вашей ситуации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...