我最近一直在使用 FASTAPI 和 Pydantic。
我想知道在没有任何验证的情况下创建pydantic模型的路径。
我可以看到有 construct()
方法,但是,该方法仍然调用使用 @validator
创建的个人验证方法
我的代码示例:
class Feedback(BaseModel):
rating: int
comment: str
date: datetime.date
@validator('rating')
def rating_validator(cls, rating):
if rating > 5 or rating < 0:
raise ValueError('value is not a valid rating')
return rating
@validator('date')
def date_validator(cls, date):
if date != datetime.date.today():
raise ValueError('value is not a valid date')
return date
在这个例子中,日期验证器允许在创建反馈时检查日期是否与当天的日期相对应,但是当我想返回这个值时,稍后,当它来自我的数据库时,验证必然导致错误,因为它是返回到不同的一天。
所以,我想在没有验证的情况下成功使用这个模型。