Django从理论到实战(part36)--QuerySet转换SQL
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Django从理论到实战(part36)--QuerySet转换SQL
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                學習筆記,僅供參考,有錯必糾
 參考自:Django打造大型企業官網–Huang Y;官方文檔
QuerySet轉換SQL
生成一個QuerySet對象并不會馬上轉換為SQL語句,比如我們獲取Book表下所有的圖書:
books = Book.objects.all() print(connection.queries)打印connection.quries時將返回一個空的列表,說明上面的QuerySet并沒有真正的執行。
在以下情況下QuerySet會被轉換為SQL語句執行:
迭代:在遍歷QuerySet對象的時候,會首先先執行這個SQL語句,然后再把這個結果返回進行迭代。比如以下代碼就會轉換為SQL語句:
for book in Book.objects.all():print(book)使用步長做切片操作:QuerySet可以類似于列表一樣做切片操作。做切片操作本身不會執行SQL語句,但是如果如果在做切片操作的時候提供了步長,那么就會立馬執行SQL語句。需要注意的是,做切片后不能再執行filter方法,否則會報錯。
調用len函數:調用len函數用來獲取QuerySet中總共有多少條數據也會執行SQL語句。
調用list函數:調用list函數用來將一個QuerySet對象轉換為list對象也會立馬執行SQL語句。
判斷:如果對某個QuerySet進行判斷,也會立馬執行SQL語句。
總結
以上是生活随笔為你收集整理的Django从理论到实战(part36)--QuerySet转换SQL的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 菜鸟裹裹浅色模式怎么设置
 - 下一篇: 双扣游戏怎么赢 双扣必胜技巧介绍