小编Fel*_*lix的帖子

FastAPI - 带有模块化导入的“TypeError: issubclass() arg 1 必须是一个类”

当使用 FastAPI 和 SQLModel 进行模块化导入时,如果打开 /docs,我会收到以下错误:

类型错误:issubclass() arg 1 必须是一个类

  • Python 3.10.6
  • pydantic 1.10.2
  • 快速API 0.85.2
  • sqlmodel 0.0.8
  • macOS 12.6

这是一个可重现的示例。

用户.py

from typing import List, TYPE_CHECKING, Optional
from sqlmodel import SQLModel, Field

if TYPE_CHECKING:
    from item import Item

class User(SQLModel):
    id: int = Field(default=None, primary_key=True)
    age: Optional[int]
    bought_items: List["Item"] = []
Run Code Online (Sandbox Code Playgroud)

项目.py

from sqlmodel import SQLModel, Field

class Item(SQLModel):
    id: int = Field(default=None, primary_key=True)
    price: float
    name: str
Run Code Online (Sandbox Code Playgroud)

主要.py

from fastapi import FastAPI

from user import User

app = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy pydantic fastapi sqlmodel

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

fastapi ×1

pydantic ×1

python ×1

sqlalchemy ×1

sqlmodel ×1