Como posso fazer um pedido decrescente da minha consulta definida no django por data?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
Eu só quero filtrar de descendente todo o Reservado por data de check_in.
Reserved.objects.filter(client=client_id).order_by('-check_in')
Observe o -
antes check_in
.
-
antes do nome da coluna significa ordem decrescente sem-
média crescente.Um hífen "-" na frente de "check_in" indica a ordem decrescente. A ordem crescente está implícita.
Não precisamos adicionar um all () antes do filter (). Isso ainda funcionaria, mas você só precisará adicionar all () quando desejar todos os objetos do QuerySet raiz.
Mais sobre isso aqui: https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters
fonte
Você também pode usar as seguintes instruções:
fonte
.all().filter()
não é necessário..filter()
sozinho está bem.para ordem crescente:
por ordem decrescente:
ou
fonte
Trabalha removendo
.all()
:fonte
Adicionar o - ordenará em ordem decrescente. Você também pode definir isso adicionando uma ordem padrão à meta do seu modelo. Isso significa que, quando você faz uma consulta, apenas MyModel.objects.all () e ela sai na ordem correta.
fonte
Ordem ascendente
Ordem decrescente
-
(hífen) é usado para indicar a ordem decrescente aqui.fonte
Isso está funcionando para mim.
fonte
67
Reserved.objects.filter (client = client_id) .order_by ('- check_in')
'-' is indica ordem decrescente e, para ordem crescente, dê apenas o atributo de classe
fonte