18

Estoy usando vistas genéricas basadas en clases, ¿alguien puede sugerirme cómo puedo establecer los valores iniciales para actualizar el formulario?Establecer el valor inicial de la forma del modelo en las vistas genéricas basadas en la clase

Intenté utilizar el método get_initial() pero no tuve éxito. El siguiente es el código que he intentado

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]) 

Respuesta

33

Debe definir un método get_initial que devuelve un diccionario que contiene los valores iniciales:

class IncidentUpdateView(UpdateView): 

    def get_initial(self): 
     return { 'value1': 'foo', 'value2': 'bar' } 

Como alternativa, se puede definir un valor initial:

class IncidentUpdateView(UpdateView): 
    initial = { 'value1': 'foo', 'value2': 'bar' } 
Cuestiones relacionadas