0
我只是想知道是否有任何示例可以從其他人的主題中獲取。靈活搜索頁面的良好實踐 - Django
我在Django中有一個頁面,它使用過濾器來執行搜索。
目前我做的GET參數進行簡單的檢查,並相應增加了.filter()的查詢集:
if color:
query.filter(color=color)
這感覺有點像一個醜陋的方式做,我一直在想,如何讓它更具活力。
任何想法?
我只是想知道是否有任何示例可以從其他人的主題中獲取。靈活搜索頁面的良好實踐 - Django
我在Django中有一個頁面,它使用過濾器來執行搜索。
目前我做的GET參數進行簡單的檢查,並相應增加了.filter()的查詢集:
if color:
query.filter(color=color)
這感覺有點像一個醜陋的方式做,我一直在想,如何讓它更具活力。
任何想法?
試試這個:
ALLOWED = ('color', 'size', 'model')
kwargs = dict(
(key, value)
for key, value in request.GET.items()
if key in ALLOWED
)
query.filter(**kwargs)
這將讓你做出這樣的/search/?color=red&size=1
或/search/?model=Nikon&color=black
請求。
沒辦法!這很棒!你能用任何函數使用你剛纔給我的方法嗎? – RadiantHex 2010-07-08 11:25:46
對DateTime有何建議? – RadiantHex 2010-07-08 11:30:12
你可以,但是你不能使用國際字符作爲關鍵字參數的名字,如果你想這樣做,你應該使用下面的語法: def test(** kwargs): param = kwargs ['параметр'] # 做一點事。 – 2010-07-13 08:19:38