18

Sto utilizzando viste generiche basate sulla classe, qualcuno può suggerirmi come posso impostare i valori iniziali per aggiornare il modulo?Imposta il valore iniziale su modelform in viste generiche basate sulla classe

Ho provato a utilizzare il metodo get_initial() ma non ho avuto alcun successo. Di seguito è riportato il codice che ho provato

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

risposta

33

Si dovrebbe definire un metodo get_initial che restituisce un dizionario che contiene i valori iniziali:

class IncidentUpdateView(UpdateView): 

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

In alternativa, è possibile definire un valore initial:

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