2012-03-21 97 views
2

下面给出的是我的Model定义,并且我已经添加了Admin的这个模块部分。我试图创建新行,并选择值'3'或持续时间字段(列为选择字段)的任何其他值,我得到以下错误.-“值3不是一个有效的选择”。Django字段选择

请提供您的意见。

模型定义 NO_OF_HRS =( ( '1', '一'), ( '2', '两个'), ( '3', '三'), ( '4' ,'四'), ('5','Five'), ('6','Six'), ('7','Seven'), ('8','Eight'), ( '9', '九'), ( '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) 

回答

5

当您使用choices时,元组的第一个值是将存储在数据库中的值,第二个值是将显示在admin中的值。

NO_OF_HRS这些值是字符串(例如'1','2'),但它是models.IntegerField,所以值应该是整数。这就是为什么你现在得到一个错误。

+0

thanks..it工作 – user1050619 2012-03-26 19:35:30

+1

点击勾选这个答案旁边,如果它确实回答你的问题。谢谢! – 2012-03-26 19:40:15

+0

@ user1050619不要忘记将答案标记为已接受。 – 2014-03-31 05:57:09