【问题标题】:Pydantic Enum load name instead of valuePydantic Enum 加载名称而不是值
【发布时间】:2021-08-26 21:10:42
【问题描述】:

我有一个枚举类:

class Group(enum.Enum):
    user = 0
    manager = 1
    admin = 2

我有一个迂腐的模型:

class User(BaseModel):
    id: int
    username: str
    group: Group

它生成的序列化为 json 如下:

{
    "id": 5,
    "username": "admin",
    "group": 2
}

但是,我想获取枚举字段的名称而不是其值,所以它应该是:

{
    "id": 5,
    "username": "admin",
    "group": "admin"
}

这可能吗?如果有,怎么做?

【问题讨论】:

标签: python enums model pydantic


【解决方案1】:
class Group(enum.Enum):
    user = "user"
    manager = "manager"
    admin = "admin"

成功了 :o ?

【讨论】:

  • 您需要将其从 JSON 反序列化回 Python 吗?你会怎么做?
  • 希望 OP 可以添加一个完整的示例,显示 pydantic 序列化和反序列化某些数据。
  • 不,它是由fastapi完成的......我不自己序列化。
猜你喜欢
  • 2020-04-12
  • 1970-01-01
  • 1970-01-01
  • 2021-12-11
  • 2022-12-17
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 2021-01-31
相关资源
最近更新 更多