Chi*_*fir 2 python django django-rest-framework
我想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)
Run Code Online (Sandbox Code Playgroud)
我搜索了一些 - 有一些关于如何使用事务的信息,但如果可以将它们与 DRF 一起使用,我没有找到任何信息。
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')
Run Code Online (Sandbox Code Playgroud)
保存点是可选的,具体取决于您的情况
| 归档时间: |
|
| 查看次数: |
3195 次 |
| 最近记录: |