TypeError:int()参数必须是字符串,类字节对象或数字错误

时间:2017-02-14 06:34:41

标签: python django django-views

我想在我的数据库中保存数据,但我的代码中有 TypeError 。 实际错误是:

  

TypeError:int()参数必须是字符串,类字节对象或数字,而不是'QueryDict'

所以请帮我解决这个问题。 以下是我在Views.py上的代码:

    card = Cards_detail(request.POST)
    card.user_id = int((request.user.id))
    card.card_no = int(request.POST['card-number'])
    card.expiray_month = request.POST['expiry-month']
    card.expiray_year = request.POST['expiry-year']
    card.card_type = 'Visa'  #temp value change this value as per api
    #card.bank_id = 1         # temp value change this value as per api
    card.save()    # Saving Card Details

1 个答案:

答案 0 :(得分:0)

问题出在这一行:

 card = Cards_detail(request.POST) 

您不能将模型 Cards_detail request.POST 一起使用,直到您使用的模型为止。 您需要使用 objects.create

if request.POST: 
    card_no = int(request.POST.get('card-number')) 
    expiray_month = request.POST['expiry-month'] 
    expiray_year = request.POST['expiry-year'] 
    card_type = 'Visa'

    card = Cards_deatil.objects.create(user = request.user,card_no = card_no,expiray_month = expiray_month,expiray_year = expiray_year,card_type = 'Visa') 
    card.save()

    return HttpResponse('Done')