2016-03-22 18 views
0

'da veritabanı içeriğinin tersine çevrilmesi Burada sizin için basit bir soru olsun. Yani bir sayfada görüntü dizisi olarak listelediğim bir çeşit resim kütüphanesi var. Başlangıçta en eskiden en yeniye kadar listeler. En yenisinden en çok tercih ederim. Sorguyu for döngüsünde tersine çevirerek çözüldü. Bunun gibi:Django, HTML

{% for image in gallery reversed %} 

Sorum şu ki, bunu yapmanın daha iyi bir yolu var mı? Belki de views.py dosyasında? Yukarıdakiler daha çok ... tokatlandı ya da bir şey gibi görünüyor. "Ters()" i içerdiğini biliyorum, ama nasıl uygulayacağımı bilmiyorum. İşte views.py bölümünde açıklanmıştır:

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) 

içerikler "bağlam" sözlüğüne saklanır orası gibi, orada ikinci son satırında olmalıdır.

+0

ihtiyaç görüyoruz gibi aynı çıktıyı elde etmek,

nedenle ters sırada olacak order_by kullanabilir ve - ile alan başlatarak yapabilirsiniz "en eski" mi tanımlarsın? – Sayse

cevap

2

Şu anda görünümünüzün hiç siparişi yok, veritabanı için eklendikleri sırayla sık sık alınan değerler alındığından, yalnızca bir miktar sipariş gösteriliyor gibi görünüyor.

şu anda yapmanız Nasıl

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

Ah evet, işe yaradı! Teşekkürler @Sayse! – Bob

+0

@Bob - Endişelenme! – Sayse