属性错误对象没有属性cleaning_data

时间:2013-11-27 06:25:36

标签: python mysql django

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))

我想在我的模型中更新'product_details'列值,其中资产代码正是用户输入的内容。但是当我提交按钮时,我收到错误。

错误讯息:

AttributeError对象没有属性'cleaning_data'django

1 个答案:

答案 0 :(得分:3)

form.is_valid是一种方法;你需要打电话给它:

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()})