Django 1.9, Python 3.5.1.Django QueryDict объединяет параметры GET
У меня есть вход Select2 в моей форме, который хранит его данные в параметре filter_tags
. я могу увидеть что-то вроде этого в журнале сервера:
[...] "GET /events?t_from=A&t_to=B&filter_tags=accumsan&filter_tags=alpha&filter_tags=aenean HTTP/1.1" 200 12290
Но когда я пытаюсь получить доступ к QueryDict в request.GET
на мой взгляд, я вижу, что он не имеет список из трех значений, но вместо этого есть только одно последнее значение :
<QueryDict: {'t_from': ['A'], 'filter_tags': ['aenean'], 't_to': ['B']}>
И вот request.GET.getlist('filter_tags')
только последний товар.
Я запускаю Django с manage.py runserver
и не использую перед ним какой-либо веб-сервер (например, nginx, apache). Я пытался отключить каждое промежуточное ПО, но это не помогло. Я также не манипулировать request.GET в любом случае, в основном мой взгляд ничего не делать с ним:
def my_view(request):
logging.warning(request.GET)
...
Как я могу получить все мои filter_tags
?
UPD создания вручную QueryDict, кажется, работает просто отлично:.
q = QueryDict('t_from=A&t_to=B&filter_tags=ac&filter_tags=accumsan')
<QueryDict: {'t_from': ['A'], 't_to': ['B'], 'filter_tags': ['ac', 'accumsan']}>
вы пробовали использовать [QueryDict.lists()] (https://docs.djangoproject.com/en/1.9/ref/request-response/# Джанго .http.QueryDict.lists)? –
Что такое вывод 'request.META ['QUERY_STRING']'? –
'request.GET.lists()' is '', не знаю, как его проверить. 'QUERY_STRING' is' t_from = A & t_to = B & filter_tags = aenean' –
roboslone