對於標題混淆不清,很難弄清楚如何說出問題。當並非所有給定的參數都填滿時,爲用戶查詢數據庫
目前我有一個sqllite db,其中有一些用戶,他們有名字,姓氏,dob,高中和高中班。數據庫使用sqlalchemy連接到燒瓶。我想知道的是我的搜索功能,我有4個輸入,我想要它,所以如果沒有使用輸入,那麼它不會用於搜索查詢。假設這個人搜索我希望它使用這些參數進行搜索的姓和高中。我嘗試過使用一堆if語句來做這件事,但它看起來很亂,必須有更好的方法。以下是我使用的查詢,但僅適用於全部4個填充完成的情況。有一個更好的方法比一堆if語句有不同的查詢嗎?我環顧四周,沒有發現任何東西。
userq=User.query.filter_by(first_name=fname_strip,last_name=lname_strip,hs_class=hs_class_strip).all()
只是省略對應於你不想通過調用時要搜索的元素''kwargs' filter_by' – Suever
反正有它不使用被設置爲none或「」 kwargs? –
不要將'kwargs'與不需要的參數設置爲''''或'None' - 而是刪除空值。 – krassowski