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)]
添加回答
舉報