2012-03-21 167 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