Попытка создать строку в таблице после выполнения POST -django
Как мне создать новую строку в таблице notificacao каждый раз, когда я делаю это сообщение? (сохранение не работает, я получаю объект 'QuerySet' не имеет атрибута 'save')
def post(self, request):
cliente1 = Cliente.objects.get(cpf=request.data['cliente1_cpf_transf'])
cliente2 = Cliente.objects.get(cpf=request.data['cliente2_cpf_transf'])
notificacao1 = Notificacao.objects.all()
if cliente1.saldo >= request.data['quantia']:
cliente1.saldo -= request.data['quantia']
cliente1.save()
cliente2.saldo += request.data['quantia']
cliente2.save()
notificacao1.cpf_remetente = request.data['cliente1_cpf_transf']
notificacao1.cpf_destinatario = request.data['cliente2_cpf_transf']
notificacao1.valor = request.data['quantia']
notificacao1.save()
QuerySet вроде как список, и вы не можете сохранить все объекты в списке просто так.
Вам, вероятно, необходимо создать notificacao1 как новый объект Notificacao. Вы должны создать его следующим образом:
notificacao1 = Notificacao.objects.create(cpf_remetente=cliente1, cpf_destinatario=cliente2, valor=request.data['quantia'])
Предложенный код:
def post(self, request):
cliente1 = Cliente.objects.get(cpf=request.data['cliente1_cpf_transf'])
cliente2 = Cliente.objects.get(cpf=request.data['cliente2_cpf_transf'])
valor = request.data['quantia']
if cliente1.saldo >= valor :
cliente1.saldo -= valor
cliente1.save()
cliente2.saldo += valor
cliente2.save()
Notificacao.objects.create(cpf_remetente=cliente1, cpf_destinatario=cliente2, valor=valor)
Потому что это вызывает все объекты модели Notificacao:
all_objects_of_notificacao = Notificacao.objects.all()