按照entry_date從小到大查詢資料,可以寫成:
content.objects.order_by(
'entry_date'
)
從大到小排序:
content.objects.order_by(
'-entry_date'
)
下面介紹其他種類的排序
隨機排序:
content.objects.order_by(
'?'
)
但是order_by(?)這種方式也許expensive並且slow,這取決於後端資料庫。
按照關係表的字段排序
class
category(base):
code
=
models.charfield(primary_key
=
true
,max_length
=
100
)
title
=
models.charfield(max_length
=
255
)
class
content(base):
title
=
models.charfield(max_length
=
255
)
description
=
models.textfield()
category
=
models.foreignkey(category, on_delete
=
models.cascade)
# 按照category的字段code,對content進行排序,只需要外來鍵後加雙下劃線
content.objects.order_by(
'category__title'
)
# 如果只是按照外來鍵來排序,會預設按照關聯的表的主鍵排序
content.objects.order_by(
'category'
)
# 上面等價於
content.objects.order_by(
'category__code'
)
# 雙下劃線返回的是join後的結果集,而單下劃線返回的是單個表的集合
content.objects.order_by(
'category_title'
)
note: 無論是單下劃線還是雙下劃線,我們都可用}在前端獲取到關聯表的資料。
**:
django查詢資料庫
特殊過濾 django資料庫查詢時,一般就是 modelname.objects.a ll modelname.objects.filter modelname.objects.get 等等,在過濾時,如果過濾條件假設是其中的某一欄位,比如 id,要求id 5,或者是乙個範圍比如1 id 5,前者可...
django資料庫查詢
特殊過濾 django資料庫查詢時,一般就是 modelname.objects.a ll modelname.objects.filter modelname.objects.get 等等,在過濾時,如果過濾條件假設是其中的某一欄位,比如 id,要求id 5,或者是乙個範圍比如1 id 5,前者可...
Django資料庫查詢
查詢集表示從資料庫中獲取的物件集合,在管理器上呼叫某些過濾器方法會返回查詢集,查詢集可以含有零個 乙個或多個過濾器。過濾器基於所給的引數限制查詢的結果,從sql的角度,查詢集和select語句等價,過濾器像where和limit子句。返回查詢集的過濾器如下 返回單個值的過濾器如下 count 返回當...