我使用Django 1.10和MongoDB在後端的過濾數據。對於mongodb,我使用的是mongoengine 0.11。 在MongoDB中,我已經收集名爲「test_coll」,其中包含字段「姓名」,「部門」和「標籤」。從採集的樣本數據是作爲後續Django的查詢中設置過濾,如何動態列表
name dept tag
peter dev k1
mark tester k1
sachin dev k1
amit manager k1
我提供名單
dept_list=['dev','tester']
這份名單是動態的。
下面是從功能
from mongoengine import Q
dept_list=['dev','tester']
output_list = []
query_dept objects = Q()
for dl in dept_list:
query_objects |= Q(dept__iexact=dl)
for details in test_coll.objects.filter(((Q(tag__iexact='k1')) & query_objects)):
output_list.append({'name':details.name,'dept':details.dept,'tag':details.tag})
return output_list
代碼,每個列表dept_list=['dev','tester']
及以上提供的樣本數據,我從集合,其中標籤是「K1」和部門的「開發」,「測試」的詳細信息。
所以我停留在,如果我提供,dept_list=['']
包含空字符串,那麼它應該返回所有的數據,其中標籤=「K1」。在我的情況下,它不會返回任何東西。 任何人都可以提供解決方案。提前致謝。
是的。我已經想通了。感謝幫助。 :) – sachin27