如何在django模型中保持fixed_length的Integerfield

时间:2016-03-17 06:45:14

标签: python django models

我有一个整数字段来存储Pincodes。我想将整数字段的长度设置为6,我该怎么做?

3 个答案:

答案 0 :(得分:0)

Django有可以在模型中使用的验证器。希望这会有所帮助..

from django.db import models

class MyModel(models.Model):
    even_field = models.IntegerField(validators=[validate_even])

from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _

def validate_even(value):
    if value % 2 != 0:
        raise ValidationError(
            _('%(value)s is not an even number'),
            params={'value': value},
        )

答案 1 :(得分:0)

您可以使用MinLengthValidator。希望此代码对您有所帮助

from django.core.validators import MinLengthValidator

class YourModel(models.Model):
   pincode = models.IntegerField('Pincode', max_length=6, 
                              validators=[MinLengthValidator(6)])

答案 2 :(得分:0)

Django有验证器的概念。您可以阅读更多相关信息here 您可以通过添加以下代码来解决您的问题:

 pincodes = models.IntegerField(validators=[MaxLengthValidator(6),MinLengthValidator(6)])