2015-06-10 11 views
8

मुझे लगता है कि जैसे एक Django ModelForm के लिए एक अतिरिक्त क्षेत्र द्वारा जोड़ा जा रहा:जोड़ने ModelForm करने के लिए अतिरिक्त क्षेत्र

class form(forms.ModelForm): 
    extra_field = forms.CharField(label='Name of Institution') 
    class Meta: 
     model = db_institutionInstitution 
     fields = ['conn_kind','time','inst_name2'] 

प्रपत्र वास्तव में ठीक काम कर रहा है, लेकिन मैं इसे prepopulate नहीं कर सकते। मैं एक modelformset_factory में इसका इस्तेमाल करते हैं:

formset = modelformset_factory(db_institutionInstitution,form=form) 

मैं स्वयं एक क्वेरीसमूह के माध्यम से चलाने के लिए और शब्दकोश formset में अतिरिक्त फार्म के लिए की जरूरत में प्रविष्टि जोड़ने। हालांकि, जब मैं फोन: के रूप में इरादा

formset1 = formset(prefix='brch',queryset=qs1) 

extra_field पॉप्यूलेट नहीं है (बाकी ठीक काम कर रहा है)।

क्या कोई मदद कर सकता है?

उत्तर

5

यदि आप डिफ़ॉल्ट सेट करना चाहते हैं।

extra_field = forms.CharField(label='Name of Institution', default="harvard") 

आप मान डायनामिक सेट करना चाहते हैं:

def __init__(self, *args, **kwargs): 

    super(form,self).__init(*args, **kwargs) 
    self.fields['extra_field'].initial = "harvard" 
संबंधित मुद्दे