2024-04-26 22:21:23 发布
网友
在下面的代码中,我需要将my_attr声明为除None之外的任何。你知道吗
my_attr
None
我应该用Any换什么?你知道吗
Any
from pydantic import BaseModel from typing import Any class MyClass(BaseModel): my_attr: Any
要实现这一点,您需要使用验证器,例如:
from pydantic import BaseModel, validator class MyClass(BaseModel): my_attr: Any @validator('my_attr', alwasy=True) def check_not_none(cls, value): assert value is not None, 'may not be None' return value
但这不太可能是您真正想要的,您最好使用一个联合并包含一个允许的类型的详尽列表,例如Union[str, bytes, int, float, Decimal, datetime, date, list, dict, ...]。你知道吗
Union[str, bytes, int, float, Decimal, datetime, date, list, dict, ...]
如果您只是想使字段成为必需的(但是仍然允许使用None),那么应该可以在v1.2之后使用,v1.2应该在接下来的几天内发布。见samuelcolvin/pydantic#1031。你知道吗
要实现这一点,您需要使用验证器,例如:
但这不太可能是您真正想要的,您最好使用一个联合并包含一个允许的类型的详尽列表,例如
Union[str, bytes, int, float, Decimal, datetime, date, list, dict, ...]
。你知道吗如果您只是想使字段成为必需的(但是仍然允许使用
None
),那么应该可以在v1.2之后使用,v1.2应该在接下来的几天内发布。见samuelcolvin/pydantic#1031。你知道吗相关问题 更多 >
编程相关推荐