我是django和web框架的新手。 我試圖篩選在Django模型賦予其屬性的集團子在Django中過濾模型
pack=My_pack.objects.get(Group=sumthing)
現在我的組屬性包含「/」 爲如
Group="System/Application"
,我想一對由sepearted值過濾模型只給出一個值假設「系統」,那麼如何做dat?
我是django和web框架的新手。 我試圖篩選在Django模型賦予其屬性的集團子在Django中過濾模型
pack=My_pack.objects.get(Group=sumthing)
現在我的組屬性包含「/」 爲如
Group="System/Application"
,我想一對由sepearted值過濾模型只給出一個值假設「系統」,那麼如何做dat?
開始的好地方是The Definitive Guide to Django。嘗試檢查文檔中的QuerySet API Reference。
https://docs.djangoproject.com/en/1.5/ref/models/querysets/#icontains
你的代碼,因爲它的立場,將無法正常工作。使用方法:
pack = My_pack.objects.filter(Group__icontains='System')
這將是該查詢的語法:
pack = My_pack.objects.get(group__icontains='System')
您正在尋找的startswith
field filter:
pack = My_pack.objects.filter(group__startswith='System')
,你可以以不同的方式使用過濾器在Django,
My_pack.objects.get只會帶一個實例,如果有多個實例存在,它會帶來d給你錯誤。所以你需要把這個封入到try塊中。
pack = My_pack.objects.get(group__icontains='System')
My_pack.objects.filter將帶來超過一個實例,如果沒有實例發現它會帶來和空單[]
pack = My_pack.objects.filter(group__startswith='System')
也您可以使用名爲get_object_or_404
的其中一個快捷功能。這與get相似。不同之處在於你不需要把它放在try塊中。如果它帶來的實例會給實例作爲返回值,但它沒有找到任何實例,那麼它會拋出一個404狀態消息。
pack = get_object_or_404(My_pack, group__startswith='System')
+1使用貧民窟談話 – 2013-03-06 18:53:54