如果我想要一个CharField只有一个数字,这是写的模型Django的模型Charfield
variable = model.CharField(max_length=1)
的方式或者如果你只有一个字符是一个目前存在的领域呢?
谢谢!
如果我想要一个CharField只有一个数字,这是写的模型Django的模型Charfield
variable = model.CharField(max_length=1)
的方式或者如果你只有一个字符是一个目前存在的领域呢?
谢谢!
为选择字段生成的小部件,您可以执行此操作。
型号:
variable = model.CharField(max_length=1)
形式:
def clean_variable(self):
data = self.cleaned_data['variable']
if data not in string.digits:
raise forms.ValidationError("Not a digit")
return data
非常有趣。感谢那! – MacPython 2010-08-24 10:40:24
如果只有一个数字(整数)被使用,
你可以看看:
PositiveSmallIntegerField或SmallIntegerField
variable = model.CharField(max_length=1)
这是完全正常的。但正如@Ilian Iliev指出这可能是一个好主意,它与选择收紧
CHOICES = (('1', '1'), ..., ('10', '10')) # Simplified; you may want to add more, auto generate this list etc.
variable = model.CharField(max_length=1, choices=CHOICES)
如果你想避免可怕的下拉选择,您也可以切换到一个整数字段
CHOICES = ((1, '1'), ..., (10, '10'))
variable = model.PositiveIntegerField(choices=CHOICES)
@ S.洛特 - 因为我是一个狡猾的白痴,眼睛失明。纠正。 – 2010-08-24 10:11:12
@ S.Lott - 查看我的第一条评论。再次编辑。 – 2010-08-24 10:17:57
谢谢。如果想要在多个字段上有多个选项,该怎么办? 变量1 =组选择 变量2 =组选择 等。 如何实现? – MacPython 2010-08-24 10:39:42
使用IntegerField和清洁方法是美国洛特表示,检查是值介于0与10
如果将包含个位数也许整数会更好?或cahrfield的选择 – 2010-08-24 09:54:45
@Ilian Iliev:如果你想添加这个答案,我会删除我的。 – 2010-08-24 10:03:32
@llian:对。对不起,这对我无关紧要。我猜Integer会很酷。 – MacPython 2010-08-24 10:42:13