2016-10-10 20 views
0

テンプレートと検証のために私のモデルに選択肢を設定したいと思います。Django - 選択肢はありますが、ドロップダウンはありません

しかし、そのモデルのmodel.formでは、整数型のフィールドしか必要としません。

InputFieldを取得するためにウィジェットを変更するにはどうすればよいですか?

ウィジェットをforms.Modelに変更しようとしましたが、動作していないようです。私はエラーを取得する:

'IntegerField' object has no attribute 'attrs' 

forms.py:

class KombiPublikationForm(forms.ModelForm): 

    class Meta: 
     model = KombiPublikation 
     #fields = [] 
     exclude = ['pub_sprache'] 
     widgets = { 
      'monat': forms.IntegerField(), # does not work 
     } 

model.py:

MONTH = (
    (1, 'Januar'), 
    (2, 'Februar'), 
    (3, 'März'), 
    (4, 'April'), 
    (5, 'Mai'), 
    (6, 'Juni'), 
    (7, 'Juli'), 
    (8, 'August'), 
    (9, 'September'), 
    (10, 'Oktober'), 
    (11, 'November'), 
    (12, 'Dezember'), 
) 

class KombiPublikation(models.Model): 
    [...] 
    monat = models.IntegerField(choices=MONTH) 

ありがとう!

+0

代わりに "ChoiceField"を使用できます。 –

答えて

0

解決策を見つけました.NumberInput()は正しいウィジェットです。

0
from django.utils.dates import MONTHS 

choices=MONTHS.items() 
関連する問題