【发布时间】:2017-02-06 21:39:12
【问题描述】:
我在 Django 中动态生成一个表单。
forms.py
class ActiveSignalForm(forms.Form):
choices = forms.MultipleChoiceField(
label = 'Alter Archiver Registry',
choices = ((sig.id, sig.signal)
for sig in registry.objects.order_by('first_registered')),
widget = forms.CheckboxSelectMultiple,
initial = [
sig.id for sig in registry.objects.order_by('first_registered')
if sig.archival_active],
)
views.py
def index(request):
latest_signal_list = registry.objects.order_by('first_registered')
form = ActiveSignalForm()
context = {'latest_signal_list': latest_signal_list, 'form': form}
return render(request, 'archiver/index.html', context)
提交表单后,处理它的视图使用HttpResponseRedirect 将用户返回到托管表单的页面。
表单完成了我希望它完成的工作(也就是说,它在数据库中进行了适当的更改),但初始值仍然停留在服务器启动时从数据库中获取的任何值上。
您能否建议一种技术,以确保每次加载页面时表单上的初始值都与数据库中的初始值匹配?
谢谢。
【问题讨论】:
标签: python django forms django-forms