Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Ordenar por data (Decrescente) Django

Django: persistência de dados e Admin Módulo 03, Aula 04

Para Ordenar os cards de forma crescente, pela data, seria este código em viws.py:

from django.shortcuts import render, get_object_or_404
from galeria.models import Fotografia


def index(request):
    # fotografias = Fotografia.objects.all()
    fotografias = Fotografia.objects.order_by("data_fotografia").filter(publicada=True)
    return render(request, 'galeria/index.html', {'cards': fotografias})


def imagem(request, foto_id):
    fotografia = get_object_or_404(Fotografia, pk=foto_id)
    return render(request, 'galeria/imagem.html', {'fotografia': fotografia})

Onde o fotografias = Fotografia.objects.order_by("data_fotografia").filter(publicada=True) faria a ordenação pela data.

Como poderia apresentar a mesma ordenação em formato decrescente (mais novos primeiro)?

2 respostas

Para inverter a ordem da ordenação, basta adicionar um - antes da propriedade, conforme a documentação do order_by.

def index(request):
    fotografias = Fotografia.objects.order_by("-data_fotografia").filter(publicada=True)
    #                                          ↑
    return render(request, 'galeria/index.html', {'cards': fotografias})
solução!

Funcionou perfeitamente, muito obrigado pelo retorno!!