Seite 1 von 1

Schleifenwerte auslesen

Verfasst: Montag 2. Februar 2015, 20:59
von erdmulch
Hallo Forum,

Ich mach mit Django eine DB abfrage:
dabei werden die Werte über die Schleife ausgelsen.
jetzt würde ich aber gerne den ersten Schleifendurchgang - den zweiten Schleifendurchgang machen.
kann mir jemand sagen wie man sowas macht?

vielen Dank im voraus

Code: Alles auswählen

    time = Time.objects.all().order_by('-time')[:2]
    for t in time:
        print t.time

Re: Schleifenwerte auslesen

Verfasst: Montag 2. Februar 2015, 21:18
von BlackJack
@erdmulch: Die Frage verstehe ich nicht. Kannst Du die etwas präzisieren oder anders formulieren?

Re: Schleifenwerte auslesen

Verfasst: Montag 2. Februar 2015, 21:23
von pillmuncher
@erdmulch: Du willst anscheinend die Zeitdifferenzen zwischen je zwei aufeinanderfolgenden Zeitpunkten berechnen. Dazu brauchst du ein Konstrukt, dass dir paarweise die Zeitpunkte liefert: (t0, t1), (t1, t2), (t2, t3), ...

Dafür gibt es in der Dokumentation zu itertools ein Rezept. Rate mal, wie es heißt :wink:

Re: Schleifenwerte auslesen

Verfasst: Dienstag 3. Februar 2015, 21:43
von erdmulch
mich würde es aber generell interessieren, wie ich die 2 Werte die ich aus der DB bekommen in 2 verschiedenen variablen abspeichere.
Kann mir jemand sagen wie man sowas macht?

vielen Dank

Re: Schleifenwerte auslesen

Verfasst: Dienstag 3. Februar 2015, 21:48
von /me
erdmulch hat geschrieben:Kann mir jemand sagen wie man sowas macht?
Das Konstrukt lautet

Code: Alles auswählen

x = value
x steht dabei für den Bezeichnernamen, value für den zuzuordnenden Wert. Man kann so eine Zuweisung auch mehrfach durchführen und dabei auch andere Bezeichnernamen und Werte verwenden.

Vielleicht beschreibst du dein Problem mal genauer.

Re: Schleifenwerte auslesen

Verfasst: Dienstag 3. Februar 2015, 21:55
von erdmulch
In meinem Beispiel bekomme ich 2 Werte aus der DB
nun will ich Wert1 der variable a zuordnen
und Wert 2 variable b

Code: Alles auswählen

    time = Time.objects.all().order_by('-time')[:2]
    for t in time:
        print t.time

Re: Schleifenwerte auslesen

Verfasst: Dienstag 3. Februar 2015, 22:03
von EyDu
Deinem letzten Beitrag weißt du ja, weiß in Index ist. Vielleicht kann man damit ja auch auf Tupel zugreifen? Wer weiß... ;-)

Re: Schleifenwerte auslesen

Verfasst: Dienstag 3. Februar 2015, 22:12
von erdmulch
Es kommt immer folgende Fehlermeldung:
'Time' object does not support indexing

Mein Code sieht wie folgt aus:

Code: Alles auswählen

    time = Time.objects.all().order_by('-time')[:2]
    for t in time:
         print t.time
    print t[1]

Re: Schleifenwerte auslesen

Verfasst: Dienstag 3. Februar 2015, 22:15
von jerch

Code: Alles auswählen

a, b = Time.objects.all().order_by('-time')[:2]
(ohne Gewähr)

Du wolltest a und b, da ist es.

Re: Schleifenwerte auslesen

Verfasst: Dienstag 3. Februar 2015, 22:48
von erdmulch
Danke :-)