18

मैं क्लास आधारित जेनेरिक विचारों का उपयोग कर रहा हूं, क्या कोई मुझे सुझाव दे सकता है कि मैं फॉर्म को अपडेट करने के लिए प्रारंभिक मान कैसे सेट कर सकता हूं?कक्षा आधारित जेनेरिक विचारों में मॉडलफॉर्म के लिए प्रारंभिक मान सेट करें

मैंने 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]) 

उत्तर

33

है आप एक get_initial विधि है जो एक शब्दकोश है कि प्रारंभिक मान देता है परिभाषित करना चाहिए:

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

class IncidentUpdateView(UpdateView): 

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

वैकल्पिक रूप से, आप एक initial मूल्य निर्धारित कर सकते हैं