You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从指定Pydantic模型代码中获取字段名的字符串形式而非字段值?

当然可以啦!针对你写的这段Pydantic代码,想要获取字段name的字符串形式(也就是字段名本身,不是它对应的值),有好几种简单实用的方法:

获取Pydantic模型字段名的具体方法
  • 直接通过模型的字段信息字典获取
    Pydantic模型会把所有字段的元信息存在__fields__属性里(Pydantic v2版本官方更推荐用model_fields),这是一个字典,键就是字段的名称字符串。你可以根据需求选择两种方式获取:

    from pydantic import BaseModel
    
    class User(BaseModel):
        id: int
        name = 'Jane Doe'
    
    # 方法1:已知字段名时,直接写字符串(最直接)
    field_name = "name"
    # 方法2:通过字段对象提取名称(适合动态场景)
    field_obj = User.__fields__['name']
    field_name = field_obj.name  # 这里得到的就是字符串"name"
    
  • 从已创建的实例对象出发获取
    如果你已经生成了模型实例,也可以直接通过实例访问字段信息:

    user = User(id='123', name='John')
    # 实例同样能访问__fields__(v1)或model_fields(v2)
    field_name = user.__fields__['name'].name
    
  • 遍历模型的所有字段名
    要是你想批量获取模型的所有字段名称,直接遍历字段字典的键即可:

    for field_name in User.__fields__.keys():
        print(field_name)  # 会依次输出"id"和"name"
    

内容的提问来源于stack exchange,提问作者user14142616

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 17:53:14