Python 哪种类型的提示表示属性不能为None?
在下面的代码中,我需要将Python 哪种类型的提示表示属性不能为None?,python,typing,pydantic,Python,Typing,Pydantic,在下面的代码中,我需要将my_attr声明为除None之外的任何 我应该用任何交换什么 from pydantic import BaseModel from typing import Any class MyClass(BaseModel): my_attr: Any 要实现这一点,您需要使用验证器,例如: 来自pydantic导入BaseModel,验证程序 类别MyClass(基本模型): 我的母亲:有吗 @验证器('my_attr',always=True) def che
my_attr
声明为除None
之外的任何
我应该用任何交换什么
from pydantic import BaseModel
from typing import Any
class MyClass(BaseModel):
my_attr: Any
要实现这一点,您需要使用验证器,例如:
来自pydantic导入BaseModel,验证程序
类别MyClass(基本模型):
我的母亲:有吗
@验证器('my_attr',always=True)
def check_not_none(cls,值):
断言值不是None,“可能不是None”
返回值
但这不太可能是您真正想要的,您最好使用union并包含一个允许的类型的详尽列表,例如,union[str,bytes,int,float,Decimal,datetime,date,list,dict,…]
如果您只是想使该字段成为必填字段(但None
仍然是允许的值),那么在v1.2之后应该可以使用该字段,该版本将在接下来的几天内发布。请参阅。要实现这一点,您需要使用验证器,例如:
来自pydantic导入BaseModel,验证程序
类别MyClass(基本模型):
我的母亲:有吗
@验证器('my_attr',always=True)
def check_not_none(cls,值):
断言值不是None,“可能不是None”
返回值
但这不太可能是您真正想要的,您最好使用union并包含一个允许的类型的详尽列表,例如,union[str,bytes,int,float,Decimal,datetime,date,list,dict,…]
如果您只是想使该字段成为必填字段(但None
仍然是允许的值),那么在v1.2之后应该可以使用该字段,该版本将在接下来的几天内发布。有关提示,请参阅。@Georgy Thx。这与我的情况很接近,但没有完全反映出来,因为在我的情况下,pydantic
已经到位,可以提供其他方法排除None
@Georgy Thx以获取提示。它与我的情况很接近,但没有完全反映出来,因为在我的情况下,pydantic
已经到位,可以提供其他方法来排除None
。