3

我有一个像这样的 BaseModel

from pydantic import BaseModel

class TestModel(BaseModel):
    id: int
    names: str = None

虽然我验证了一些这样的数据

TestModel(id=123).dict() 

我得到了结果

{'id':123,'name':无}

但我期望的是:

{'id':123}

问题:有没有删除空字段的方法?谢谢!

4

2 回答 2

13

正确的方法是使用

TestModel(id=123).dict(exclude_none=True)

如果您在任何地方都需要这个,您可以覆盖dict()并更改默认值。

于 2020-05-07T08:14:17.270 回答
-1

如果要从值为 "None" 的字典中删除键:

result = {k: v for k, v in result.items() if v is not None }
于 2020-05-07T03:19:10.953 回答