【问题标题】:Python pydantic model get field as stringPython pydantic 模型以字符串形式获取字段
【发布时间】:2021-10-09 05:54:02
【问题描述】:

从下面的代码中,有没有办法可以将名称作为字符串而不是值,而是字段名称本身?

from pydantic import BaseModel

class User(BaseModel):
    id: int
    name = 'Jane Doe'

user = User(id='123', name='John')

【问题讨论】:

    标签: python model


    【解决方案1】:

    您可以通过__fields__属性获取字段列表:

    User.__fields__
    # or
    user.__fields__
    # {
    #     'id': ModelField(name='id', type=int, required=True),
    #     'name': ModelField(name='name', type=str, required=False, default='Jane Doe')
    # }
    

    因此,通过以下方式列出字段名称:

    list(User.__fields__.keys()))
    # or
    list(user.__fields__.keys()))
    # ['id', 'name']
    

    【讨论】:

      猜你喜欢
      • 2021-11-28
      • 1970-01-01
      • 2023-01-18
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 2016-02-20
      • 2011-10-25
      相关资源
      最近更新 更多