2012-04-03 66 views
0

我发现自己处于一种情况,这使我寻求帮助。Django反向使用Querydict kwargs

我有一个可能获得多个kwargs(全部命名为id)的网址。

url(r'^multi(id=(?P<id>\d+))*', GetView.as_view(), name='get'), 

在GetView,很少重定向之后,我有:

q = QueryDict("id=%s" %"&id=".join(list)) 
self.refresh_url = reverse("get", kwargs=q) 

凡refresh_url来刷新标记。

的问题是在这里:

Reverse for 'get' with arguments '()' and keyword arguments '{u'id': [u'123', u'456']}' not found. 

如果有人一直在像这样的情况之前,请相比,分享您的解决方案。

谢谢。

回答

0

除了使用网址中的id以外,您应该使用查询字符串1

#Url 
url(r'^multi/$', GetView.as_view(), name='get'), 

#Reverse url 
self.refresh_url = "%s?id=%s&id=%s" % (reverse("get"), id1, id2) 

#Views 
ids = request.GET.getlist('id')