0
我正在使用Django,我想在我的数据库中设置一个字段,只允许5个整数长的数字。我找到了max_length,有没有长度?将模型字段的长度设置为5的长度
这里是我的代码
zip_code = models.IntegerField(max_length=5)
有没有办法来
zip_code = models.IntegerField(length=5)
强制用户输入5个号码。
我正在使用Django,我想在我的数据库中设置一个字段,只允许5个整数长的数字。我找到了max_length,有没有长度?将模型字段的长度设置为5的长度
这里是我的代码
zip_code = models.IntegerField(max_length=5)
有没有办法来
zip_code = models.IntegerField(length=5)
强制用户输入5个号码。
使用max_length
与IntegerField
没有意义。
如果您要存储邮政编码,最好使用CharField
,以便存储以零开头的邮政编码。
CharFields没有min_length
选项,但Django确实有MinLengthValidator
。但是,使用RegexValidator
会更简单,那么您可以使用正则表达式来仅允许数字,并检查输入的长度是5位数。
zip_code = models.CharField(max_length=5, validators=[RegexValidator(r'^[0-9]{5}$')])
另一种选择是从django-localflavor使用USZipCodeField
。
我会使用char字段,然后验证所有字符都是数字 –
但要回答实际问题,说一个数字最多可以有5位数字,就是说它的最大值是99999,所以您可以使用['MaxValueValidator'](https://docs.djangoproject.com/en/1.10/ref/validators/#maxvaluevalidator)。 –