2015-06-10 14 views
8

dodaję dodatkowe pole do Django ModelForm tak:dodać dodatkowe pole do ModelForm

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

Formularz jest faktycznie działa poprawnie, ale nie mogę go wstępnie wypełnić. Używam go w modelformset_factory:

formset = modelformset_factory(db_institutionInstitution,form=form) 

ręcznie prowadzony przez queryset i dodać wpis w słowniku potrzebnej do dodatkowego formularza w formset. Jednak, kiedy zadzwonić:

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

extra_field nie jest oznakowane zgodnie z przeznaczeniem (reszta działa bez zarzutu).

Czy ktoś może pomóc?

Odpowiedz

5

Jeśli chcesz ustawić wartość domyślną.

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

Jeśli chcesz dynamicznie ustawić wartość:

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

    super(form,self).__init(*args, **kwargs) 
    self.fields['extra_field'].initial = "harvard" 
Powiązane problemy