def save_transaction(self, serializer): t = Transaction() t.origin = serializer.validated_data["origin"] t.destination = serializer.validated_data["destination"] t.ammount = serializer.validated_data["ammount"] t.coin_type = serializer.validated_data["coin_type"] if t.origin.balance - t.ammount < 0: raise Exception("El origen no tenia fondos") t.origin.balance = t.origin.balance - t.ammount t.destination.balance = t.destination.balance + t.ammount t.origin.save() t.destination.save() serializer.save()