【问题标题】:Pydantic: How do I use a keyword field name?Pydantic:如何使用关键字字段名称?
【发布时间】:2020-06-22 14:10:12
【问题描述】:

我正在尝试在 Pydantic 中为 API 请求建模。我必须为一个名为“from”的字段建模。由于“from”是python中的关键字,所以Pydantic会抛出错误。

型号

class MyRequest(BaseModel):
    foo: str
    abc: int
    from: int

Pydantic 抛出的错误

File "test.py", line 6
    from: int

SyntaxError: invalid syntax

是否可以对这个“来自”字段进行建模?更改参数名称不是一种选择。

【问题讨论】:

  • 我是因为python中的'from'关键字更改它并查看

标签: python-3.x fastapi pydantic


【解决方案1】:

使用alias

class MyRequest(BaseModel):
    foo: str
    abc: int
    from_field: int = Field(..., alias='from')

【讨论】:

  • 应该如何实例化? MyRequest(foo='a', abc=1, from=2) 仍然会引发SyntaxError,而使用from_field 而不是from 将导致pydantic.ValidationError
  • 你试过MyRequest(**{'foo': 'a', 'abc': 1, 'from': 2})吗?
猜你喜欢
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
  • 2021-12-17
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 2023-02-09
相关资源
最近更新 更多