如果我想要一個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