django查询集-17
生活随笔
收集整理的這篇文章主要介紹了
django查询集-17
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當查詢結果是多個的時候,django-ORM會返回一個 查詢集(QuerySet) ,表示從數據庫中獲取對象的 集合 。
查詢集可以使用過濾器進行再次處理。
例如查詢閱讀量大于20且評論數大于30的書
>>> book = Book.objects.filter(b_read__gt=20) >>> book.filter(b_comment__gt=30) <QuerySet [<Book: 天龍八部>]>因為查詢集類似一個集合,所以可以對查詢集進行取下標或者切片等操作(索引不支持負數)。
查詢閱讀數大于20的結果,再取下標為1 的數據。
>>> book = Book.objects.filter(b_read__gt=20) >>> book[1] <Book: 雪山飛狐>查詢集兩大特性
1. 惰性執行
創建查詢集不會訪問數據庫,直到調用數據時,才會訪問數據庫,調用數據的情況包括迭代、序列化、與if合用
2. 緩存
使用同一個查詢集,第一次使用時會發生數據庫的查詢,然后Django會把結果緩存下來,再次使用這個查詢集時會使用緩存的數據,減少了數據庫的查詢次數。
轉載于:https://www.cnblogs.com/mxuanli/p/9966703.html
總結
以上是生活随笔為你收集整理的django查询集-17的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac电脑开机键盘和鼠标失灵
- 下一篇: 建行信用卡账单日怎么查询