idarr = [1,2,3,4,5]
for i in range(len(idarr)):
upload.objects.filter(idarr[i])
廣東話,我們在一個鏡頭傳遞idarr到查詢查詢陣列在Django
idarr = [1,2,3,4,5]
for i in range(len(idarr)):
upload.objects.filter(idarr[i])
廣東話,我們在一個鏡頭傳遞idarr到查詢查詢陣列在Django
我假設你想在列表中idarr
過濾的Upload
其id
是所有實例。如果是這樣的話,那麼你可以去了解它是這樣的:
Upload.objects.filter(id__in = idarr)
閱讀documentation瞭解更多詳情。
所以在這麼幾行太多的錯誤...
在Python中,從來沒有經歷過range(len(whatever))
循環。只要做for i in whatever
。
假設upload
是一個Django模型,您不能只傳遞一個值到filter
- 您需要說明您要過濾的內容。推測這是主鍵,所以你想要.filter(pk=i)
。
如果要針對列表中的任何值進行過濾,請使用__in
:.filter(pk__in=idarr)
。
@simplyharsh:謝謝你添加缺失的動詞。 – 2010-08-14 09:19:30