gpt4 book ai didi

python-3.x - 在设置值时验证 Pydantic 字段

转载 作者:行者123 更新时间:2023-12-05 00:56:10 26 4
gpt4 key购买 nike

具有 confloat 的 Pydantic 类如果为其提供的值超出指定范围,则无法初始化字段。但是在稍后阶段(my_object.constrained_field = <big_value>)设置此字段时,不会验证新值。

from pydantic import BaseModel, confloat

class testClass(BaseModel):
a: confloat(gt=0.0, lt=10.0)

x = testClass(a=2.0) # OK

# x = testClass(a=20.0) # ERROR: outside limits

x.a = 40.0 # OK despite outside limits

print(x.a) # prints '40.0'

这是否可以在设置成员时验证新值,以便调用 x.a = 40.0在上面的例子中会引发异常吗?

如果没有 - 是否有任何解决方法,例如从类字段中获取验证器方法?

最佳答案

Config 上使用 validate_assignment .

关于python-3.x - 在设置值时验证 Pydantic 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62715855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com