1
我正在顯示帶有4個文本框的頁面,每個文本框將用戶輸入的值存儲到一個單獨的變量中。 我的數據庫有4列,每列對應一個文本框的變量。通過多個表單字段搜索?
我想這樣做: 用戶可以在1,2,3或全部4個文本框中輸入值,並且我想根據它們輸入的每個值修剪搜索結果。每個文本框都是可選的。
我該怎麼做?我是Django的新手,我只知道如何使用一個搜索詞進行搜索。
我正在顯示帶有4個文本框的頁面,每個文本框將用戶輸入的值存儲到一個單獨的變量中。 我的數據庫有4列,每列對應一個文本框的變量。通過多個表單字段搜索?
我想這樣做: 用戶可以在1,2,3或全部4個文本框中輸入值,並且我想根據它們輸入的每個值修剪搜索結果。每個文本框都是可選的。
我該怎麼做?我是Django的新手,我只知道如何使用一個搜索詞進行搜索。
我認爲你需要Q對象。請參閱:https://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects
從文檔:
Poll.objects.get(
Q(question__startswith='Who'),
Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6))
)
翻譯爲:
SELECT * from polls WHERE question LIKE 'Who%'
AND (pub_date = '2005-05-02' OR pub_date = '2005-05-06')
您可以從清洗填充表單將q查詢 - 你甚至可能要重寫潔()和返回查詢集的方式,以便您可以訪問驗證表單中的查詢集。