2016-07-09 7 views
0

ich ein Modell haben: -Django- aktualisieren Modellobjekte

class Model(models.Model): 
    a = models.BooleanField(default=False) 
    time = models.DateTimeField(auto_now_add=True) 

Nach der all Abfrage Brennen: -

objs = Model.objects.all().order_by('time') 

ich das Objekt am nth Index aktualisieren müssen. N kann alles sein.

obj[0].a = True 
obj[0].save() 

Aber der Wert wird nicht aktualisiert. Warum?

Antwort

0
def set_nth_a_true(n, queryset): 
    obj_ = queryset[n] 
    obj_.a = True 
    obj_.save() 


objs = Model.objects.all().order_by('time') 
set_nth_a_true(3, objs) 

dies sollte funktionieren, testete ich es

+0

Was ist der Unterschied zwischen den beiden? – PythonEnthusiast

+0

@PythonEnthusiast Ich sehe keine außer 'obj [0]' anstelle von 'objs [0]' – doniyor

0

Ich lief in das gleiche Problem nur und ich kann bestätigen, dass "Problem" bezieht sich auf das QuerySets-Verhalten. Wenn Sie Ihre Objekte aktualisieren müssen, müssen Sie sie als separates Modellobjekt speichern, wie zum Beispiel: