2017-05-23 9 views
0

Ich habe dieses Problem, da ich von den Listen lernen und ich habe ein wenig Kosten, in dieser Frage erhalten Sie zuerst die Werte im Text mit den Variablen „cantidad“ eingegeben, dann bekomme ich die ID von jedemTypeError: int() Argument muss eine Zeichenfolge oder eine Zahl sein, nicht 'Liste' Django

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

dann werfen die Variablen:

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

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

Was erforderlich ist, ist, dass, sobald diese Listen erhalten werden, es ist notwendig, die Mengen ['8', '7', '5'] in die entsprechenden einzugeben ing-IDs in der Liste < QuerySet [2479, 2480, 2481]>

ich diesen Code verwende die Listen durch Filterung von ID zu speichern:

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

und wirft den Fehler:

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

Aber wirft diesen Fehler und ich weiß nicht, was zu tun ist, bitte helfen, danke Ihnen vorher!

+1

Bitte füge vollen Traceback an – Mikael

Antwort

1

Sie mögen dies tun können,

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

Ich verstehe nicht, was Sie erreichen wollen, aber hoffe, das hilft. Wenn überhaupt, lass es mich wissen.

+0

Wenn du masterst, in einer Tabelle, die die X Elemente mit Eingabe X Text in diesen Eingaben die Werte zeigt, die ich über die Variable "Cantidad" als Liste erhalte, dann musst du die speichern Werte in der entsprechenden ID jedes Objekts. und Ihre Antwort hat mir den gleichen Fehler wie der Titel Sir ... –

Verwandte Themen