В моем шаблоне choose_values.html
У меня есть раскрывающийся список, и я выбираю некоторые значения. Я могу передать эти значения как QueryDict в представление tomatos
, назначив request.POST переменной.метод django POST и Querydict
Я хотел бы использовать выбранные значения в фильтре ввиду tomatos
Я не знаю, как извлечь выбранные значения из этого QueryDict.
это пример QueryDict:
<QueryDict: {u'csrfmiddlewaretoken': [u'pFs9fj5MLQML7KLYHXFeCWTSvuMFEoML'], u'dropdown1': [u'project1'], u'dropdown2': [u'S1'], u'dropdown3': [u'S1.2']}>
, как я могу это сделать?
choose_values.html
CHOOSE_VALUES
<form method="post" action="{% url 'projects:manage_values' %}">{% csrf_token %}
<select name="dropdown1">
<option value="project1">project1</option>
<option value="project1">project2</option>
</select>
<select name="dropdown2">
<option value="S1">S1</option>
<option value="S2">S2</option>
<option value="all">all</option>
</select>
<select name="dropdown3">
<option value="S1.1">S1.1</option>
<option value="S1.2">S1.2</option>
<option value="all">all</option>
</select>
<input type="submit" value="submit" />
</form>
томатов смотреть
def tomatos(request):
context = RequestContext(request)
ZoneSubFormSet = modelformset_factory(ZoneSubStage, fields=('zone', 'substage','value'),max_num=2)
dupa=request.POST
print dupa
if request.method == 'POST':
formset = ZoneSubFormSet(queryset=ZoneSubStage.objects.filter(substage__stage__stage_name='S1',
substage__stage__project__name='project1',
zone__zone_name='z1'))
else:
formset = ZoneSubFormSet(queryset=ZoneSubStage.objects.filter(substage__stage__stage_name='S2',
substage__stage__project__name='project1',
zone__zone_name='z2'))
return render_to_response('autostages/update_values.html', {'formset': formset}, context)
EDIT
Я не уточняю значение каких-либо причины, и я не знаю, почему.
def tomatos(request):
context = RequestContext(request)
ZoneSubFormSet = modelformset_factory(ZoneSubStage, fields=('zone', 'substage','value'),max_num=2)
value1=str(request.POST.get('dropdown1'))
value2=str(request.POST.get('dropdown2'))
value3=str(request.POST.get('dropdown3'))
if request.method == 'POST':
formset = ZoneSubFormSet(queryset=ZoneSubStage.objects.filter(substage__stage__project__name=value1,
substage__stage__stage_name=value2,
zone__zone_name=value3))
if formset.is_valid():
formset.save(commit=True)
else:
formset = ZoneSubFormSet(queryset=ZoneSubStage.objects.filter(substage__stage__project__name=value1,
substage__stage__stage_name=value2,
zone__zone_name=value3))
return render_to_response('autostages/update_values.html', {'formset': formset}, context)
привет, по некоторым причинам я не обновляю свой Дата. вы можете помочь? Я обновил код в своем сообщении выше, и я вижу, что я не выполняю formet.save() – BlueTomato