2016-03-22 7 views
0

Hoffentlich eine einfache Frage für Sie hier. Also habe ich eine Art Bild-Bibliothek, die ich auf einer Seite als Zeilen aufliste. Zunächst listet es von alt bis neu auf. Ich bevorzuge neueste zu ältesten. Gelöst wurde es, indem die Abfrage in der for-Schleife umgekehrt wurde. Wie so:Django Umkehr der Datenbankinhalte in HTML

{% for image in gallery reversed %} 

Meine Frage ist, gibt es einen besseren Weg, es zu tun? Vielleicht in der Datei views.py? Das oben Gesagte scheint eher ... geklatscht oder sowas. Ich weiß, dass es "reverse()" beinhaltet, aber ich weiß nicht, wie ich es umsetzen soll. Hier ist der Abschnitt in views.py:

def user_profile(request): 
    context = {} 
    populateContext(request, context) 
    user_details = UserProfile.objects.get(user=request.user) 
    context.update(user_details=user_details) 


    """ blah blah """ 


    context.update(gallery=ImageDoc.objects.only('thumbfile').filter(user_id=request.user.id)) 
    return render(request, 'register/profile.html', context) 

Es liegt in der zweitletzten Zeile dort sein soll, wie das ist, wo der Inhalt in den „Kontext“ Wörterbuch gespeichert ist.

+0

benötigen Wie Du definierst "Älteste"? – Sayse

Antwort

2

Ihre Ansicht hat derzeit überhaupt keine Reihenfolge, es scheint nur ein gewisses Maß an Ordnung zu zeigen, da die Werte oft in der Reihenfolge abgerufen werden, in der sie zur Datenbank hinzugefügt werden.

Sie können order_by verwenden, und indem Sie das Feld mit einem - Start es in umgekehrter Reihenfolge wird

daher die gleiche Leistung zu erreichen, wie Sie gerade sehen Sie

ImageDoc.objects.only('thumbfile').filter(user_id=request.user.id).order_by('-id') 
+1

Ah ja, das hat funktioniert! Danke @Sayse! – Bob

+0

@Bob - Keine Sorge! – Sayse