2015-06-10 18 views
8

tôi thêm một trường bổ sung để một ModelForm Django như thế:thêm trường bổ sung để ModelForm

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

Các mẫu được thực sự làm việc tốt, nhưng tôi không thể prepopulate nó. Tôi sử dụng nó trong một modelformset_factory:

formset = modelformset_factory(db_institutionInstitution,form=form) 

tôi tự chạy qua một queryset và thêm một mục trong từ điển cần thiết cho các hình thức bổ sung trong formset. Tuy nhiên, khi tôi gọi:

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

extra_field không được chuẩn bị sẵn như dự định (phần còn lại vẫn hoạt động bình thường).

Có ai giúp được không?

Trả lời

5

Nếu bạn muốn đặt mặc định.

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

Nếu bạn muốn tự động thiết lập một giá trị:

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

    super(form,self).__init(*args, **kwargs) 
    self.fields['extra_field'].initial = "harvard" 
Các vấn đề liên quan