2 回答

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
您正在IntegerFields 上使用MinLengthValidator
和MaxLengthValidator
,它將嘗試對(duì)整數(shù)應(yīng)用 len() 函數(shù)。這就是為什么你會(huì)遇到這種錯(cuò)誤。您可以將您的zipcode
和phone
屬性更改為 CharField,或者只是刪除驗(yàn)證器。

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
需要注意的一件事是CharField 沒有 min_length 屬性。
因此,作為一種不明智的替代方案,您可以使用 Min/MaxValueValidator Min/MaxValueValidator,而不是使用 Min/MaxLengthValidator。很酷的是,您可以將驗(yàn)證器子類化來處理自定義錯(cuò)誤消息:
模型.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)]
添加回答
舉報(bào)