Attribute Error Object has no attribute cleaned_data
django, mysql, python
Solution
`form.is_valid` is a method; you need to call it:
from django.shortcuts import render, redirect
def update_details(request):
if request.method == "POST":
form = UpdateDetailsForm(request.POST, request.FILES)
if form.is_valid():
asset_code=form.cleaned_data['asset_code1']
fd=form.cleaned_data['product_details']
verifications = Verification.objects.filter(asset_code__exact=asset_code)
# filter returns a list, so the line below will not work
# you need to loop through the result in case there
# are multiple verification objects returned
# verifications.update(product_details=fd)
for v in verifications:
v.update(product_details=fd)
# you need to return something here
return redirect('/')
else:
# Handle the condition where the form isn't valid
return render(request, 'update_details.html', {'form': form})
return render(request, 'update_details.html', {'form':UpdateDetailsForm()})
Problem
my views.py cod: ``` def update_details(request): if request.method == "POST": form = UpdateDetailsForm(request.POST) if form.is_valid: asset_code=form.cleaned_data['asset_code1'] fd=form.cleaned_data['product_details'] verifications = Verification.objects.filter(asset_code__exact=asset_code) verifications.update(product_details=fd) return render_to_response('update_details.html', {'form':UpdateDetailsForm(),}, context_instance=RequestContext(request)) ``` I want to update 'product_details' column value in my model where asset code is exactly what user entered. But I am getting error when I submit button. Error Message: AttributeError object has no attribute 'cleaned_data' django