use*_*207 1 python django django-models django-validation
我想在 Django 中定义一个 6 位数字邮政编码models.py。
起初,我尝试过这个;
postal_code = models.PositiveIntegerField(blank=False)
但是,邮政编码可以有前导零,例如000157。PositiveIntegerField 不适合它。
如果我使用CharField,该字段可以接受对邮政编码无效的字母。
如何在 django models.py 中定义 6 位数字邮政编码?
我正在使用 Django v4。
Wil*_*sem 10
您可以使用验证器,例如通过使用RegexValidator\xc2\xa0 [Django-doc]:
from django.core.validators import RegexValidator\nfrom django.db import models\nfrom django.utils.text import gettext_lazy as _\n\n\nclass MyModel(models.Model):\n postal_code = models.CharField(\n max_length=6,\n validators=[RegexValidator(\'^[0-9]{6}$\', _(\'Invalid postal code\'))],\n )Run Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
886 次 |
| 最近记录: |