Django中多條件查詢優化

Django中多條件查詢

傳統模式

當查詢條件爲兩個時,假設我們這裏查詢條件爲tag、name

if tag:
    if name:
        all_result = test.objects.filter(tag=tag, name=name)
    else:
        all_result = test.objects.filter(tag=tag)
else:
    if name:
        all_result = test.objects.filter(name=name)
    else:
        all_result = test.objects.all()

可想而知,當條件很多時,寫這麼複雜的工作,足以讓人崩潰

字典模式

當採用字典存儲字段時,可以很高效地優化編寫工作

search_dict = dict[]
if tag:
    search_dict['tag'] = tag
if name:
    search_dict['name'] = name
all_result = test.objects.filter(**search_dict)

兩者代碼行數對比,六行解決十行的工作

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章