Django Field Choices

use*_*619 2 django-models

下面是我的模型定义,我已经添加了Admin的这个模块部分.我正在尝试创建新行,同时选择值'3'或持续时间字段的任何其他值(列为选择字段),我得到以下错误.-"值3不是有效选择".

请提供您的意见.

型号定义 NO_OF_HRS =(('1','One'),('2','Two'),('3','Three'),('4','Four'),('5', 'Five'),('6','Six'),('7','Seven'),('8','Eight'),('9','Nine'),('10', '十'),('11','十一'),('12','十二'),)

YR_MONTH = (
("Y", "Year"),
("M", "Month"),
)

POS_STATUS = (
("A", "Active"),
("C", "Closed"),
)

datecreated   = models.DateTimeField()
volposition   = models.CharField(max_length=300)
roledesc      = models.CharField(max_length=5000)
noofhours     = models.IntegerField(blank = True,null = True)
Qualreqt      = models.CharField(max_length=8000)
Duration      = models.IntegerField(choices=NO_OF_HRS,blank = True,null = True)
Durationyrmon = models.CharField(choices=YR_MONTH,max_length=10)
posstatus     = models.CharField(choices=POS_STATUS,max_length=1)
teamrelation  = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

Sim*_*ser 5

使用时choices,元组的第一个值是将存储在数据库中的值,第二个值是将在管理中显示的值.

NO_OF_HRS值中是字符串(例如'1','2')但它是一个models.IntegerField值,因此值应该是整数.这就是你现在收到错误的原因.