2016-12-18 14 views
0

で多くのウィジェットに多くのデフォルトを変更することはできません。こんにちは、私は多くの分野に多くを持っているDjangoのフォーム

class Seeking(models.Model): 
    entity = models.OneToOneField(Entity) 
    company_type = models.ManyToManyField(CompanyTypeChoice) 

私はフィールドを使用しています。このフォームがあります:ウィジェットがまだレンダリング

class SeekingForm(forms.ModelForm): 

    class Meta: 
     model = Seeking 
     widgets = {'m2m_field': forms.CheckboxSelectMultiple} 
     exclude = (
        'entity', 
       ) 

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

     super(SeekingForm, self).__init__(*args, **kwargs) 
     self.fields["company_type"].widget = forms.CheckboxSelectMultiple() 

をマルチセレクトボックスとして使用できます。私はdjango 10を使用しています。私は間違って何をしていますか?

答えて

1

フィールドのカスタムウィジェットを指定するには、内部メタクラスのウィジェット属性を使用します。これはウィジェットのクラスまたはインスタンスへののフィールド名の辞書マッピングである必要があります。

class SeekingForm(forms.ModelForm): 

    class Meta: 
     model = Seeking 
     widgets = {'company_type': forms.CheckboxSelectMultiple() } 
     exclude = (
       'entity', 
      ) 
関連する問題