从元组转换为 pydantic 模型

sas*_*no8 8 python pydantic

我想将元组(列表)映射到 pydantic 模型。

在以下情况下是否有将元组索引映射到属性的最佳实践?

from pydantic import BaseModel

class Ohlc(BaseModel):
    close_time: float
    open_time: float
    high_price: float
    low_price: float
    close_price: float
    volume: float
    quote_volume: float

data = [
  1495324800,
  232660,
  242460,
  231962,
  242460,
  231.863,
  0
]
Run Code Online (Sandbox Code Playgroud)

Or *_*r Y 7

假设data的长度始终等于模型中的字段数,您可以使用__fields__它来实现这一点。

Ohlc(**{key: data[i] for i, key in enumerate(Ohlc.__fields__.keys())})
Run Code Online (Sandbox Code Playgroud)

(过去需要fields您首先使用construct(),但现在它已被弃用,现在他们告诉您改为使用__fields__)。