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