class Xyzform(ModelForm):
total_employees =forms.IntegerField()
class Meta:
model=Xyz
fields=['total_employees ']
字符串 或者您可以在表单级别添加验证:
from django.core.exceptions import ValidationError
# paste in your models.py
def only_int(value):
if value.isdigit()==False:
raise ValidationError('ID contains characters')
class Xyzform(ModelForm):
total_employees =forms.CharField(validators=[only_int])
class Meta:
model=Xyz
fields=['total_employees ']
3条答案
按热度按时间pftdvrlh1#
你可以把它变成一个IntegerField或者BigIntegerField,在表单级别你为模型创建一个表单。
字符串
或者您可以在表单级别添加验证:
型
yi0zb3m42#
有一个BigIntegerField,你可以使用它。
如果不是,你真的必须使用CharField,你可以使用validators。创建一个验证器,它试图将字段转换为int, Package 在try except块中。在except中,如果它不是int,则引发
ValidationError
。lsmepo6l3#
total_employees应该只需要正数。
PositiveBigIntegerField允许取值范围0到9223372036854775807:
字符串
PositiveIntegerField允许值为0到2147483647:
型
PositiveSmallIntegerField允许取值范围0 ~ 32767:
型
另外,Django中没有NegativeIntegerField、NegativeBigIntegerField和NegativeSmallIntegerField。