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)