Джанго реверс с использованием Querydict Kwargs - PullRequest
0 голосов
/ 03 апреля 2012

Я оказался в ситуации, которая заставляет меня просить о помощи.

У меня есть URL с возможностью получения нескольких 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 подходит к тегу refresh.

Проблема здесь:

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

Если кто-то сталкивался с подобной ситуацией прежде, чем, пожалуйста, поделитесь своим решением.

Спасибо.

1 Ответ

0 голосов
/ 03 апреля 2012

Вместо использования идентификатора из URL, вы должны использовать строку запроса 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')
...