def assign(self, request, pk):
try:
task = Task.objects.get(pk=pk, assignee=None)
except Task.DoesNotExist:
return Response(json.dumps({"message": "Already taken"}), status=status.HTTP_400_BAD_REQUEST)
expense, created = TaskExpense.objects.get_or_create(
task=task,
executor_id=request.user.pk,
money=task.money)
if created:
with transaction.atomic():
request.user.update_balance(u"???? ??????", task.money, task=task)
Task.objects.filter(pk=pk, assignee=None).update(assignee=request.user)
return Response(json.dumps({'message': "Taken"}), status=status.HTTP_200_OK)
评论列表
文章目录