我正在使用Django,我想在我的数据库中设置一个字段,只允许5个整数的数字。我找到了max_length,有长度吗?
这是我的代码
zip_code = models.IntegerField(max_length=5)
有没有办法
zip_code = models.IntegerField(length=5)
强制用户输入5个号码。
答案 0 :(得分:3)
将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
。