【问题标题】:Parameterize a custom type definition Python Typing参数化自定义类型定义 Python Typing
【发布时间】:2021-03-04 02:57:35
【问题描述】:

我想知道是否可以在自定义用户定义类型中参数化类型。

我的工作示例是:

from pydantic import BaseModel
from typing import TypeVar, Dict, Union, Optional

ListSchemaType = TypeVar("ListSchemaType", bound=BaseModel)
GenericPagination = Dict[str, Union[Optional[int], List[ListSchemaType]]]

我需要做的是使用参数调用 GenericPagination。

像这样:

pagination: GenericPagination(schemas.Posts)

我的数据结构如下:

    "count": 2,
    "limit": 10,
    "page": 1,
    "results": [{
            "name": "Foo",
            "url_base": "https://www.bar.cl",
            "development_stage": "FOO",
            "system_status": "BAR",
            "id": 1

    }]
  }

【问题讨论】:

    标签: python pydantic


    【解决方案1】:

    经过一些研究,我发现然后回答here

    我的最终工作案例看起来:

    ListSchema = TypeVar("ListSchema", bound=BaseModel)
    Pagination = Dict[str, Union[Optional[int], List[ListSchema]]]
    

    然后我可以这样使用它:

    pagination: Optional[Pagination[schemas.Post]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多