84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
怎么在Django中对数据查询结果进行排序?
Django에서 데이터 쿼리 결과를 정렬하는 방법은 무엇인가요? -PHP 중국어 사이트 Q&A - Django에서 데이터 쿼리 결과를 정렬하는 방법은 무엇인가요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
使用 order_by() 这个方法就可以搞定了。
>>> Publisher.objects.order_by("name") [<Publisher: Apress>, <Publisher: O'Reilly>]
跟以前的 all() 例子差不多,SQL语句里多了指定排序的部分:
SELECT id, name, address, city, state_province, country, website FROM books_publisher ORDER BY name;
我们可以对任意字段进行排序:
>>> Publisher.objects.order_by("address") [<Publisher: O'Reilly>, <Publisher: Apress>] >>> Publisher.objects.order_by("state_province") [<Publisher: Apress>, <Publisher: O'Reilly>]
如果需要以多个字段为标准进行排序(第二个字段会在第一个字段的值相同的情况下被使用到),使用多个参数就可以了,如下:
>>> Publisher.objects.order_by("state_province", "address") [<Publisher: Apress>, <Publisher: O'Reilly>]
我们还可以指定逆向排序,在前面加一个减号 - 前缀:
>>> Publisher.objects.order_by("-name") [<Publisher: O'Reilly>, <Publisher: Apress>]
尽管很灵活,但是每次都要用 order_by() 显得有点啰嗦。 大多数时间你通常只会对某些 字段进行排序。 在这种情况下,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']**
Django에서 데이터 쿼리 결과를 정렬하는 방법은 무엇인가요? -PHP 중국어 사이트 Q&A - Django에서 데이터 쿼리 결과를 정렬하는 방법은 무엇인가요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
使用 order_by() 这个方法就可以搞定了。
跟以前的 all() 例子差不多,SQL语句里多了指定排序的部分:
我们可以对任意字段进行排序:
如果需要以多个字段为标准进行排序(第二个字段会在第一个字段的值相同的情况下被使用到),使用多个参数就可以了,如下:
我们还可以指定逆向排序,在前面加一个减号 - 前缀:
尽管很灵活,但是每次都要用 order_by() 显得有点啰嗦。 大多数时间你通常只会对某些 字段进行排序。 在这种情况下,Django让你可以指定模型的缺省排序方式: