花哨的字符串 'false' 到 bool
pydantic string 'false' to bool
我有像
这样的傲娇模特
class AccountingQueueFilters(BaseModel):
no_batch_id: Optional[bool] = None
但是对于输入 'false'
来自 get params 它 return True
https://mysite.tech/accounting_queue/get?no_batch_id=false
如何修复?
你应该使用这个结构
它将允许您通过点符号访问属性并进行自定义类型检查
class QueryParams:
def make_bool(self, value):
return not(value == "false") # some logic
def __init__(self, boolable: str, zero: bool):
self.boolable = self.make_bool(boolable)
self.zero = zero
@router.get('/route')
async def route(
data: QueryParams = Depends(),
):
print(data) # boolable=false : str
print(type(data.boolable)) # bool
print("success")
return Result(data)
我有像
这样的傲娇模特class AccountingQueueFilters(BaseModel):
no_batch_id: Optional[bool] = None
但是对于输入 'false'
来自 get params 它 return True
https://mysite.tech/accounting_queue/get?no_batch_id=false
如何修复?
你应该使用这个结构 它将允许您通过点符号访问属性并进行自定义类型检查
class QueryParams:
def make_bool(self, value):
return not(value == "false") # some logic
def __init__(self, boolable: str, zero: bool):
self.boolable = self.make_bool(boolable)
self.zero = zero
@router.get('/route')
async def route(
data: QueryParams = Depends(),
):
print(data) # boolable=false : str
print(type(data.boolable)) # bool
print("success")
return Result(data)