我正在使用基于类的通用视图,任何人都可以建议我如何设置初始值以更新表单?
我尝试使用get_initial()方法,但没有取得任何成功。以下是我试过的代码
class IncidentUpdateView(UpdateView):
form_class = IncidentForm
form_class.initial = {"badge_number": '88888'}
model = Incident
template_name = 'hse/incident/incident_update.html'
def get_initial(self, form_class):
initials = {
"badge_number": '88888'
}
form = form_class(initial=initials)
return form
def get_success_url(self):
return reverse_lazy('hse-incident', args=[self.object.id])
答案 0 :(得分:44)
您应该定义一个get_initial
方法,该方法返回包含初始值的字典:
class IncidentUpdateView(UpdateView):
def get_initial(self):
return { 'value1': 'foo', 'value2': 'bar' }
或者,您可以定义initial
值:
class IncidentUpdateView(UpdateView):
initial = { 'value1': 'foo', 'value2': 'bar' }