当使用 FastAPI 和 SQLModel 进行模块化导入时,如果打开 /docs,我会收到以下错误:
类型错误:issubclass() arg 1 必须是一个类
这是一个可重现的示例。
用户.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)