Django Field Choices

时间:2012-03-21 21:11:59

标签: django-models

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

请提供您的意见。

模型定义 NO_OF_HRS =(         ( '1', '一'),         ( '2', '两个'),         ( '3', '三'),         ( '4', '四'),         ( '5', '五'),         ( '6', '六'),         ( '7', '七'),         ( '8', '八'),         ( '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)

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

在django上打开了修复和脏修复的票证:

https://code.djangoproject.com/ticket/24897