pydantic 多领域对比

pydantic Multi-field comparison

当我有以下 pydantic class 时,我想做 A>B 验证,你知道怎么做吗?

class Test(BaseModel):
    a: int
    b: int

您可以使用 pydantic 中的验证器方法:

from pydantic import validator

class Test(BaseModel):
    a: int
    b: int

    @validator('b')
    def ab_validation(cls, b, values, **kwargs):
        if 'a' in values and b > values['a']:
            raise ValueError('B is greater than A')
        return b