【Django】組合條件的搜尋功能實現
一直想著如何做組合條件的搜尋!
如:前端有三個輸入框....輸入後過濾,後臺寫一條語句匹配前端所有可能產生的組合。總共七種
偽sql大概如下:
組合條件越多,越複雜,用if 什麼的來判斷,太複雜了!試著想用Q() F()函式來實現,也很麻煩!最後參照別人的思路,用**kargs反向匹配解決!
思路如下:
參考:
https://www.cnblogs.com/wt11/p/6431071.html
如:前端有三個輸入框....輸入後過濾,後臺寫一條語句匹配前端所有可能產生的組合。總共七種
偽sql大概如下:
-
select * from t where a=?
-
或
-
select * from t where b=?
-
或
-
select * from t where c=?
-
或
-
select * from t where a=? and b=
-
或
-
select * from t where a=? and c=
-
或
-
select * from t where b=? and c=
-
或
- select * from t where a=? and b= and c
組合條件越多,越複雜,用if 什麼的來判斷,太複雜了!試著想用Q() F()函式來實現,也很麻煩!最後參照別人的思路,用**kargs反向匹配解決!
思路如下:
- 符合條件的放入字典,反向filter過濾即可!
-
>>> condition = {}
-
>>> condition['db_type']=1
-
>>> condition['dport']=3306
-
>>> result=edatabase.objects.filter(**condition)
-
>>> result
-
<QuerySet [<edatabase: edatabase object>, <edatabase: edatabase object>, <edatabase: edatabase object>]>
-
>>> for i in result:
-
... print i.id,i.db_type,i.dport
-
...
-
1 1 3306
-
2 1 3306
- 9 1 3306
參考:
https://www.cnblogs.com/wt11/p/6431071.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2152857/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 51_初識搜尋引擎_上機動手實戰多搜尋條件組合查詢
- 如何實現條件組合元件元件
- github條件搜尋Github
- 基於SpringBoot+Mybatis plus+React.js實現條件選擇切換搜尋功能Spring BootMyBatisReactJS
- Elasticsearch搜尋功能的實現(五)-- 實戰Elasticsearch
- DjangoRestFramework 實現分頁功能與搜尋功能DjangoRESTFramework
- 搜尋模組功能分析
- jQuery 條件搜尋查詢 實時取值 升降序排序jQuery排序
- 直播app原始碼,預設顯示搜尋框 保留搜尋條件APP原始碼
- TP5 搜尋按條件分頁
- Vue + element.ui table 分頁功能+搜尋功能的實現VueUI
- Django筆記二十三之case、when操作條件表示式搜尋、更新等操作Django筆記
- CSU 1563 Lexicography (搜尋+組合數)
- 相見恨晚!開源的傻瓜搜尋引擎,幫你快速實現搜尋功能
- jQuery DataTables新增自定義多個搜尋條件jQuery
- 微信小程式 簡易搜尋功能實現微信小程式
- SAP UI5應用裡搜尋功能的實現UI
- 搜尋功能
- 使用APICloud AVM多端元件快速實現app中的搜尋功能APICloud元件APP
- Django整合搜尋引擎ElasticserachDjangoAST
- JS模擬瀏覽器全域性搜尋功能實現JS瀏覽器
- vue + axios 實現分頁引數傳遞,高階搜尋功能實現VueiOS
- Autofac實現有條件的DI
- PostgreSQL任意列組合條件行數估算實踐-取樣估算SQL
- Aspose.Words實現郵件合併功能和列印
- Chrome的強大搜尋功能Chrome
- 資料遷移方案 + Elasticsearch在綜合搜尋列表實現Elasticsearch
- Elasticsearch 實現簡單搜尋Elasticsearch
- Laravel + Elasticsearch 實現中文搜尋LaravelElasticsearch
- Jquery + Bootstrap 實現搜尋框jQueryboot
- vue2實現搜尋結果中的搜尋關鍵字高亮Vue
- 海量資料搜尋---demo展示百度、谷歌搜尋引擎的實現谷歌
- 圖的廣度優先搜尋和深度優先搜尋Python實現Python
- Trie|如何用字典樹實現搜尋引擎的關鍵詞提示功能
- 一句話實現MySQL庫中的按條件變化分組MySql
- Java多型實現的必要條件Java多型
- 線上直播系統原始碼,vue實現搜尋文字高亮功能原始碼Vue
- 【AIGC】Embedding與LLM的結合:長文字搜尋與問答功能AIGC