[python] django order_by 쿼리 세트, 오름차순 및 내림차순

django의 검색어 세트를 날짜별로 내림차순으로 주문하려면 어떻게해야합니까?

Reserved.objects.all().filter(client=client_id).order_by('check_in')

체크인 날짜로 예약 된 모든 내림차순에서 필터링하고 싶습니다.



답변

Reserved.objects.filter(client=client_id).order_by('-check_in')

-이전에 주목하십시오 check_in.

장고 문서


답변

Reserved.objects.filter(client=client_id).order_by('-check_in')

“check_in”앞의 하이픈 “-“은 내림차순을 나타냅니다. 오름차순이 내포됩니다.

filter () 전에 all ()을 추가 할 필요는 없습니다. 그래도 작동하지만 루트 QuerySet의 모든 객체를 원할 때 all () 만 추가하면됩니다.

https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters 에 대한 자세한 내용은 여기를 참조 하십시오.


답변

다음 지시 사항을 사용할 수도 있습니다.

Reserved.objects.filter(client=client_id).order_by('check_in').reverse()


답변

오름차순 :

Reserved.objects.filter(client=client_id).order_by('check_in')

내림차순 :

1.  Reserved.objects.filter(client=client_id).order_by('-check_in')

또는

2.  Reserved.objects.filter(client=client_id).order_by('check_in')[::-1]


답변

그것은 제거 작동합니다 .all():

Reserved.objects.filter(client=client_id).order_by('-check_in')


답변

-를 추가하면 내림차순으로 정렬됩니다. 모델의 메타에 기본 순서를 추가하여이를 설정할 수도 있습니다. 이것은 쿼리를 할 때 MyModel.objects.all ()을 수행하면 올바른 순서로 나옵니다.

class MyModel(models.Model):

    check_in = models.DateField()

    class Meta:
        ordering = ('-check_in',)


답변

  1. 오름차순

    Reserved.objects.all().filter(client=client_id).order_by('check_in')
  2. 내림차순

    Reserved.objects.all().filter(client=client_id).order_by('-check_in')

- (하이픈)은 여기서 내림차순을 나타냅니다.