2016-04-24 11 views
-1

Views.pyLooping durch mehrere Variablen im Blick

counter = 0 
    for house in some model... 
     if house.name = house.selected 
      counter++ 
     else: 
      house.correct 

Annahme: korrekt ist ein Charfield im Haus-Modell, über mehrere Häuser Looping somit die sonst Bedingung .. mehrfach eingegeben werden kann, um auf Fertigstellung könnte am ehesten mit mehreren Haus.Korrekturen

vor der Schleife irgendwelche Vorschläge auf die Art der Variablen ich könnte definieren, um alle Werte zu speichern, also list = [] dann wenn else Anweisung eingegeben wird, kann ich tun list = Haus .korrekt also am Ende habe ich al ist mit möglicherweise mehreren Zeichenwerten ... so kann ich die Liste durchreichen, um im Kontext zu verwenden.

ist dieser Ansatz in Ordnung oder mache ich es schlecht? Entschuldigung für den Mangel an Informationen geben Sie hoffentlich können Sie verstehen, was ich bekomme. Ich bemühe mich zu verstehen, wie ich alle house.corrrect-Werte erfassen und sie in einen Datentyp setzen kann, so dass ich sie mit einer Variablen durch den Kontext leiten kann, um eine Liste von Zeichen zu sehen.

Antwort

0

Dies kann besser implementiert werden Django ORM:

from django.db.models import F 

... 
incorrect_list = House.objects.exclude(name=F('selected')).values('correct') 

Die F expression hier können Sie ein Modellfeld mit einem anderen Feld in der gleichen Zeile vergleichen und die .values() Methode ermöglicht es Ihnen, eine Liste zurückzukehren, um mit der Werte von ausgewählten Spalten anstelle von einem Abfrage-Set.