1. Ordem ascendente
A ordem ascendente, também conhecida como "ascending order" em inglês, é uma forma de organizar uma sequência de itens de maneira crescente, do menor para o maior.
Product.objects.all().order_by('name')
2. Ordem decrescente
A ordem decrescente, também conhecida como "descending order" em inglês, é uma forma de organizar uma sequência de itens de maneira decrescente, do maior para o menor.
Product.objects.all().order_by('-name')
-
é usado para indicar ordem decrescente.
Além disso, podemos utilizar outros atributos do model Product
como critério de ordenação e "desempate". Imagine que temos dois produtos com mesmo nome, porém com preços diferentes.
Nome | Dt. de criação |
---|---|
Produto A | 2024-08-01 |
Produto A | 2024-08-02 |
Produto B | 2024-08-03 |
Produto C | 2024-08-04 |
Produto D | 2024-08-05 |
E como critério, exibir os produtos por Dt. de criação
mais recente. Desta maneira, poderemos implementar assim:
Product.objects.all().order_by('name', '-created_at')
O resultado esperado da listagem será o seguinte:
Nome | Dt. de criação |
---|---|
Produto A | 2024-08-02 |
Produto A | 2024-08-01 |
Produto B | 2024-08-03 |
Produto C | 2024-08-04 |
Produto D | 2024-08-05 |
Top comments (0)