Итак, у меня есть форма с SelectWithPop.Таким образом, пользователь может выбрать переменную или добавить еще одну.Открыта новая страница для ввода данных пользователем.
Моя проблема в том, что я могу вставить новую переменную в модель, но когда я возвращаюсь на страницу, чтобы выбрать значение, новое значениене отображается, пока я не перезапущу сервер.
Это нормальное поведение или я что-то не так сделал?
Если это так, есть ли способ решить эту проблему?
Вот мои взгляды:
def add(request, field):
return handlePopAdd(request, HospitalForm, 'hospital_name')
def handlePopAdd(request, addForm, field):
if request.method == "POST":
form = addForm(request.POST)
if form.is_valid():
try:
newObject = form.save()
except forms.ValidationError, error:
newObject = None
if newObject:
return HttpResponseRedirect(reverse('form', args=['clinical']))
else:
form = addForm()
return render_to_response("popadd.html", { 'form': form })
формы:
class CheckPatForm(forms.Form):
pat = forms.IntegerField(label="Paciente")
_names = list(Hospital.objects.values_list('hospital_id', 'hospital_name'))
_names.append(('',''))
hosp = forms.ChoiceField(_names, widget=SelectWithPop(), label="Hospital", required=False)
proc = forms.IntegerField(label="Processo", required=False)
class HospitalForm(forms.ModelForm):
class Meta:
model = Hospital
шаблоны добавления:
<a
href="/SIAM-TB/insert/form/add/{{ field }}"
class="add-another"
id="add_id_{{ field }}">
<img src="http://rome/SIAM-TB/admin_media/img/admin/icon_addlink.gif"
width="10" height="10" alt="Add Another"/>
</a>