2010-08-14 71 views
1
 idarr = [1,2,3,4,5] 
     for i in range(len(idarr)): 
      upload.objects.filter(idarr[i]) 

廣東話,我們在一個鏡頭傳遞idarr到查詢查詢陣列在Django

回答

7

我假設你想在列表中idarr過濾的Uploadid是所有實例。如果是這樣的話,那麼你可以去了解它是這樣的:

Upload.objects.filter(id__in = idarr) 

閱讀documentation瞭解更多詳情。

+0

@simplyharsh:謝謝你添加缺失的動詞。 – 2010-08-14 09:19:30

7

所以在這麼幾行太多的錯誤...

  1. 在Python中,從來沒有經歷過range(len(whatever))循環。只要做for i in whatever

  2. 假設upload是一個Django模型,您不能只傳遞一個值到filter - 您需要說明您要過濾的內容。推測這是主鍵,所以你想要.filter(pk=i)

  3. 如果要針對列表中的任何值進行過濾,請使用__in.filter(pk__in=idarr)