Pydantic继承的班级验证
我有2个pydantic课程
class AuthenticatedCreateBasketV2ApiModel(PublicCreateBasketV2ApiModel):
agency: str = Field()
owner: Optional[UserUuid] = Field()
effective_date: Date
class PublicCreateBasketV2ApiModel(BaseModel):
agency: str
changes: conlist(ChangeApiModel, min_items=1)
effective_date: Date
email: Optional[EmailStr] = None
class Config:
extra = "forbid"
,我正在尝试像so authenticatiCateCteCreateBaskEtv2apimodel(有效_DATE =效率=有效_DATE,更改= [change])
使用我的验证器
@validator("changes")
def validate_changes_for_lapse_or_renewal_or_cancellation(
cls, changes: List
) -> List[Change]:
lapse_changes, renewal_changes, cancellation_changes = [], [], []
for change in changes:
if change.type == ChangeType.LAPSE:
lapse_changes.append(change)
elif change.type == ChangeType.RENEW:
renewal_changes.append(change)
elif change.type == ChangeType.CANCEL:
cancellation_changes.append(change)
validate_lapses(lapse_changes)
validate_renewals(renewal_changes)
validate_cancellations(cancellation_changes)
return changes
,我似乎无法访问有效>
在我的验证器中。我尝试使用代码示例在这里无济于事。任何建议将不胜感激
I have 2 Pydantic classes
class AuthenticatedCreateBasketV2ApiModel(PublicCreateBasketV2ApiModel):
agency: str = Field()
owner: Optional[UserUuid] = Field()
effective_date: Date
class PublicCreateBasketV2ApiModel(BaseModel):
agency: str
changes: conlist(ChangeApiModel, min_items=1)
effective_date: Date
email: Optional[EmailStr] = None
class Config:
extra = "forbid"
and I am trying to validate like so AuthenticatedCreateBasketV2ApiModel(effective_date=effective_date, changes=[change])
with my validator
@validator("changes")
def validate_changes_for_lapse_or_renewal_or_cancellation(
cls, changes: List
) -> List[Change]:
lapse_changes, renewal_changes, cancellation_changes = [], [], []
for change in changes:
if change.type == ChangeType.LAPSE:
lapse_changes.append(change)
elif change.type == ChangeType.RENEW:
renewal_changes.append(change)
elif change.type == ChangeType.CANCEL:
cancellation_changes.append(change)
validate_lapses(lapse_changes)
validate_renewals(renewal_changes)
validate_cancellations(cancellation_changes)
return changes
The problem is that I can't seem to access effective_date
in my validator. I have tried using the code examples here to no avail. Any advice would be appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
添加
value
参数,并确保有效_date
在更改
之前。来自文档:例子:
Add the
values
argument and make sure thateffective_date
is beforechanges
. From the documentation:Example: