2017-05-23 440 views
0

我有這個問題,因爲我從列表中學習並且我有一點花費,在這個問題中首先獲取值與變量「cantidad」輸入的文本,然後我得到的每個對象的IDTypeError:int()參數必須是一個字符串或一個數字,而不是'list'Django

def ListEspeci(request, id_especialidad): 
     especialidad = Especialidad.objects.get(id=id_especialidad) 
     pedido = Pedido.objects.filter(especialidad=especialidad) 
     if request.method == "POST": 
      cantidad = request.POST.getlist("cantidad") 
      pedido_list = Pedido.objects.filter(especialidad=especialidad).values_list('id', flat=True) 

則變量拋出:

cantidad : ['8', '7', '5'] 

pedido_list : < QuerySet [2479, 2480, 2481]> 

需要的是,一旦得到這些名單,有必要將數量['8', '7', '5'] 插入相應的在列表中< QuerySet的荷蘭國際集團IDS [2479,2480,2481]>

我使用這個代碼由ID過濾保存列表:

pedido = Pedido.objects.filter(id=pedido_list).update(cantidad=cantidad) 

,並拋出錯誤:

TypeError: int() argument must be a string or a number, not 'list' 

但拋出錯誤,我不知道該怎麼辦,請幫助,事先謝謝!

+1

請附上完整回溯 – Mikael

回答

1

你可以這樣做,

for pedido in pedido_list: 
    pedido.update(candidad=cantidad) 
    pedido.save() 

我不明白你想實現什麼,但是希望這有助於。 如果有,請讓我知道。

+0

如果您掌握了在這些輸入中顯示帶有輸入X文本的X元素的表格中,我通過變量「cantidad」獲得的值作爲列表,那麼您需要保存值在每個對象的id中。你的回答給了我與標題先生一樣的錯誤...... –

相關問題