Django에서 데이터 조회 결과를 정렬하는 방법
>>> Publisher.objects.order_by("name")
[, ]
이전 all () 예와 차이가 많지 않고, SQL 문장에 지정한 정렬 부분이 많아졌습니다.
SELECT id, name, address, city, state_province, country, website
FROM books_publisher
ORDER BY name;
모든 필드를 정렬할 수 있습니다.
>>> Publisher.objects.order_by("address")
[, ]
>>> Publisher.objects.order_by("state_province")
[, ]
여러 필드를 기준으로 정렬해야 하는 경우(첫 번째 필드의 값이 같은 경우 두 번째 필드가 사용됨) 다음과 같이 여러 매개변수를 사용할 수 있습니다.
>>> Publisher.objects.order_by("state_province", "address")
[, ]
또한 리버스 정렬을 지정하여 앞에 마이너스-접두어를 붙일 수도 있습니다.
>>> Publisher.objects.order_by("-name")
[, ]
유연하지만 매번 orderby () 좀 부스스해 보여요.대부분의 시간 동안 너는 보통 일부 필드만 정렬할 수 있다.이 경우 Django는 모델의 기본 정렬 방법을 지정할 수 있습니다.
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
def __unicode__(self):
return self.name
**class Meta:**
**ordering = ['name']**
이제 새로운 개념을 접해 봅시다.class Meta, Publisher 클래스의 정의에 내장되어 있습니다. (class Publisher가 정격이라면, class Meta는 그 아래에 네 개의 빈칸을 줄여야 합니다. - Python의 전통을 누르십시오.)모든 모델 클래스에서 메타 클래스를 사용하여 특정 모델과 관련된 옵션을 설정할 수 있습니다.부록 B에 메타에서 선택할 수 있는 모든 참고가 있습니다. 지금ordering이라는 옵션을 주목하면 됩니다.만약 당신이 이 옵션을 설정했다면, 검색할 때 일부러 order를 사용하지 않는 한...by (), 그렇지 않으면 Django의 데이터베이스 API를 사용하여 검색할 때,Publisher 대상의 반환 값은 기본적으로name 필드에 따라 정렬됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.