TypeError:__init __()获得了意外的关键字参数“ choices”

时间:2019-10-12 15:56:23

标签: django

TypeError: init ()获得了意外的关键字参数“选择”

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']

1 个答案:

答案 0 :(得分:2)

这是一个表格。表单用于与用户进行交互。 IntegerField中的forms没有choices。毕竟,所有IntegerField模型都涉及到我们如何在数据库中存储数据。

您可以为此使用TypedChoiceField [Django-doc]

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']