>>Publisher.objects.filter(name='Apress')[]filter()根據關鍵字參數來轉換成WHERESQL語句。前面這個例子相當于這樣:SELECTid,name,address,city,state_province,country,websiteFROMbooks_" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python的Django框架中的數據過濾功能

系統 2135 0

我們很少會一次性從數據庫中取出所有的數據;通常都只針對一部分數據進行操作。 在Django API中,我們可以使用`` filter()`` 方法對數據進行過濾:

            
>>> Publisher.objects.filter(name='Apress')
[
            
              ]


            
          

filter() 根據關鍵字參數來轉換成 WHERE SQL語句。 前面這個例子 相當于這樣:

            
SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE name = 'Apress';


          

你可以傳遞多個參數到 filter() 來縮小選取范圍:

            
>>> Publisher.objects.filter(country="U.S.A.", state_province="CA")
[
            
              ]


            
          

多個參數會被轉換成 AND SQL從句, 因此上面的代碼可以轉化成這樣:

            
SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE country = 'U.S.A.'
AND state_province = 'CA';


          

注意,SQL缺省的 = 操作符是精確匹配的, 其他類型的查找也可以使用:

            
>>> Publisher.objects.filter(name__contains="press")
[
            
              ]


            
          

在 name 和 contains 之間有雙下劃線。和Python一樣,Django也使用雙下劃線來表明會進行一些魔術般的操作。這里,contains部分會被Django翻譯成LIKE語句:

            
SELECT id, name, address, city, state_province, country, website
FROM books_publisher
WHERE name LIKE '%press%';


          

其他的一些查找類型有:icontains(大小寫無關的LIKE),startswith和endswith, 還有range(SQLBETWEEN查詢)。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 六安市| 襄垣县| 蒙山县| 当涂县| 山西省| 耒阳市| 洪江市| 策勒县| 临洮县| 宜良县| 平阴县| 安阳市| 垫江县| 水城县| 开阳县| 静海县| 六盘水市| 江都市| 九江市| 开鲁县| 凤翔县| 阳谷县| 中卫市| 玉树县| 阿图什市| 洪泽县| 海伦市| 栾城县| 赣州市| 盖州市| 景宁| 松江区| 白银市| 泸西县| 沽源县| 临高县| 韶山市| 特克斯县| 花垣县| 耒阳市| 新晃|