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

Aar*_*ron 2 python django

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

这是我的代码

zip_code = models.IntegerField(max_length=5)
Run Code Online (Sandbox Code Playgroud)

有没有办法

zip_code = models.IntegerField(length=5)
Run Code Online (Sandbox Code Playgroud)

强制用户输入 5 个数字。

Ala*_*air 5

max_length与IntegerField.一起使用没有意义。

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

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

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

另一种选择是使用USZipCodeFieldfrom django-localflavor。