TypeError: __init__() got an unexpected keyword argument 'choices'
forms.py
class StudentMarksheetform2(forms.Form):
subject_code=(
(1,'CS101'),
(2,'CS102'),
(3,'CS103'),
(4,'CS104'),
(5,'CS105'),
(6,'CS106')
)
code_title=forms.IntegerField(choices=subject_code,default='1')
class Meta():
model=StudentMarksheetdata2
fields=['code_title']
Advertisement
Answer
This is a form. A form deals with interacting with the user. An IntegerField of forms has no choices. After all the IntegerField of models deals with how we store data in the database.
You can use a TypedChoiceField [Django-doc] for this:
class StudentMarksheetform2(forms.Form):
SUBJECT_CODE = (
(1,'CS101'),
(2,'CS102'),
(3,'CS103'),
(4,'CS104'),
(5,'CS105'),
(6,'CS106')
)
code_title=forms.TypedChoiceField(choices=SUBJECT_CODE, coerce=int, initial=1)
class Meta:
model=StudentMarksheetdata2
fields=['code_title']