クラスベースの汎用ビューを使用していますが、フォームを更新するための初期値を設定する方法を教えてもらえますか?
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])
ベストアンサー1
get_initial
初期値を含む辞書を返すメソッドを定義する必要があります。
class IncidentUpdateView(UpdateView):
def get_initial(self):
return { 'value1': 'foo', 'value2': 'bar' }
あるいは、initial
値を定義することもできます。
class IncidentUpdateView(UpdateView):
initial = { 'value1': 'foo', 'value2': 'bar' }