在你的 django 應用中,你或許希望根據某字段的值對檢索結果排序,比如說,按字母順序。 那麼,使用 order_by() 這個方法就可以搞定xiuyhvgr了。
>>> 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")
[, ]
儘管很靈活,但是每次都要用 order_by() 顯得有點囉嗦。 大多數時間你通常只會對某些 字段進行排序。 在這種情況下,django讓你可以指定模型的預設排序方式:
class publisher(models.model):
name = models.charfield(max_length=30)
address = models.charfield(max_length=50)
city = models.charfield(max_lengwww.cppcns.comth=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 這個類的定義中(如果 claxiuyhvgrss publisher 是頂格的,那麼 class meta 在它之下要縮排4個空格--按 python 的傳統 )。你可以在任意乙個 模型 類中使用 meta 類,來設定一些與特定模型相關的選項。 在 附錄b 中有 meta 中所有可選項的完整參考,現在,我們關注 ordering 這個選項就夠了。 如果你設定了這個選項,那麼除非你檢索時特意額外地使用了 order_by(),否則,當你使用 django 的資料庫 api 去檢索時,publisher物件的相關返回值預設地都會按 name 字段排序。
本文標題: django中對資料查詢結果進行排序的方法
本文位址:
jmeter根據查詢資料查詢結果
前兩天試了 一下根據請求查詢出的userid,查詢該userid的資訊。1.新建 1 新建執行緒組 2 新建http請求預設值 3 新建http cookie管理器 4 新建http資訊頭管理器 5 新建登入請求,並新增正規表示式獲取token 2.迴圈控制器 1 新增迴圈控制器,設定迴圈次數 2 ...
Django中Modual資料查詢操作
本文以乙個影視資料庫為資料來源 模型類 作為演示sql,定義乙個輸出sql語句的方法 def showsql from django.db import connection queries connection.queries print queries 1 sql 方法演示 第一條為django...
MongoDB中的資料查詢
準備資料 db.stu.insert db.stu.insert db.stu.insert db.stu.insert db.stu.insert db.stu.insert db.stu.insert db.stu.insert db.stu.insert db.stu.insert 基本查詢方...