def post(self, request, folio_android, format=None): transaction = self.get_object(folio_android) serializer = TransactionSerializer(transaction, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def create(self, request, *args, **kwargs): data = request.data transaction = TransactionSerializer(data=data) if transaction.is_valid(): try: transaction.save() except ValidationError: return Response({'error': 'not enough bts'}, status.HTTP_400_BAD_REQUEST) return Response(status=status.HTTP_201_CREATED) else: return Response(status=status.HTTP_400_BAD_REQUEST)
def make_transaction(request): user = UserSerializer(User.objects.get(username=request.user)) balance = UserBalance.objects.get(user=user.data['id']) if request.data['transaction_type'] == 1 and balance.balance < request.data[ 'price'] * request.data['amount']: return Response({"details": "Your balance is not enough."}, status=status.HTTP_400_BAD_REQUEST) newBalance = balance.balance if request.data['transaction_type'] == 1: newBalance -= request.data['price'] * request.data['amount'] else: newBalance += request.data['price'] * request.data['amount'] balance.balance = newBalance balance.save() serializer = TransactionSerializer(data=request.data) if serializer.is_valid(): serializer.save(owner=request.user) return JsonResponse(serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def create(self, request): """ Bulk creation create multiple transactions at once """ serializer = TransactionSerializer(many=True, data=request.data) serializer.is_valid(raise_exception=True) transactions = serializer.save() return Response( TransactionSerializer(transactions, many=True).data, status=status.HTTP_201_CREATED, )
def post(self, request, format=None): serializer = TransactionSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def serialize_dict(obj): serializer = TransactionSerializer(data=obj) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data, status=201)