【问题标题】:Access Field object in pydantic BaseModel. Is it possible?在 pydantic BaseModel 中访问 Field 对象。可能吗?
【发布时间】:2022-11-22 05:59:23
【问题描述】:

我需要在下面的代码中访问 pydantic Field 中的 my_key,如下所示:


class MyModel(BaseModel):
    x: str = Field(default=None, my_key=7)

    def print_field_objects(self):
        for obj in self.something_something:  # What do I use here
            print(obj.my_key)                 # ... so that i can use my_key?

我试图查看 self 包含的内容,例如 self.__dict__,但我无法找到它。甚至可以访问my_key吗?

我的 FastAPI 端点需要它。

【问题讨论】:

    标签: python fastapi pydantic


    【解决方案1】:

    Field doesn't take arbitrary arguments,你到底想达到什么目的,也许有更合适的解决方案。

    根据你的另一个问题,x 是一个类属性,其定义可以在self.__class__.__fields__ 中找到,而它的实例可以通过调用self.x找到值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-04
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-06
      • 2021-05-27
      相关资源
      最近更新 更多