Reputation: 3082
instance is not updated, using forms save () Django.
Could anyone help?
save() got an unexpected keyword argument 'cpnj'
views
cliente = Cliente.objects.get(user=request.user.id, pk=pk)
if request.method == 'POST':
form = ClienteForm(request.POST)
if form.is_valid():
form.update(instance=cliente, validated_data=form.cleaned_data)
return redirect('clienteEdit', pk)
Forms
def update(self, instance, validated_data, context):
print(instance)
instance.save(**validated_data)
Upvotes: 0
Views: 34
Reputation: 26
It looks like your model object Cliente
and form ClientForm
have a mismatch in one of the fields. Does your model object Cliente
have a field called cpnj?
for updating I suggest you change the fields manually like this:
cliente = Cliente.objects.get(user=request.user.id, pk=pk)
if request.method == 'POST':
form = ClienteForm(request.POST)
if form.is_valid():
cliente.cpnj = form.cleaned_data['cpnj']
cliente.save()
return redirect('clienteEdit', pk)
Upvotes: 1