将模型字段的长度设置为5的长度

时间:2016-11-03 20:14:29

标签: python django

我正在使用Django,我想在我的数据库中设置一个字段,只允许5个整数的数字。我找到了max_length,有长度吗?

这是我的代码

zip_code = models.IntegerField(max_length=5)

有没有办法

zip_code = models.IntegerField(length=5)

强制用户输入5个号码。

1 个答案:

答案 0 :(得分:3)

max_lengthIntegerField一起使用是没有意义的。

如果您要存储邮政编码,最好使用CharField,以便存储以零开头的邮政编码。

CharFields没有min_length选项,但Django确实有MinLengthValidator。但是,使用RegexValidator会更简单,然后您可以使用正则表达式只允许数字,并检查输入是否正好是5位数。

zip_code = models.CharField(max_length=5, validators=[RegexValidator(r'^[0-9]{5}$')])

另一种选择是使用django-localflavor中的USZipCodeField