2 回答

TA贡献1887条经验 获得超5个赞
您正在IntegerFields 上使用MinLengthValidator
和MaxLengthValidator
,它将尝试对整数应用 len() 函数。这就是为什么你会遇到这种错误。您可以将您的zipcode
和phone
属性更改为 CharField,或者只是删除验证器。

TA贡献1725条经验 获得超8个赞
需要注意的一件事是CharField 没有 min_length 属性。
因此,作为一种不明智的替代方案,您可以使用 Min/MaxValueValidator Min/MaxValueValidator,而不是使用 Min/MaxLengthValidator。很酷的是,您可以将验证器子类化来处理自定义错误消息:
模型.py
from django.core.validators import MinValueValidator, MaxValueValidator
class ZipcodeMaxValueValidator(MaxValueValidator):
message = ("AWWW YEA ERROR!!")
class User(models.Model):
zipcode = models.IntegerField(validators=[MinValueValidator(99999), ZipcodeMaxValueValidator(99999)]
添加回答
举报