Ошибки VSCode Pylance в типе ответа FastAPI, который преобразуетсяPython

Программы на Python
Anonymous
Ошибки VSCode Pylance в типе ответа FastAPI, который преобразуется

Сообщение Anonymous »

Я использую VSCode и расширение поддержки языка Python по умолчанию от MS, которое работает с Pylance. У меня есть проект FastAPI Python 3.12, который использует аннотации типов, чтобы указать, какие модели должны быть возвращены в качестве ответов от обработчиков, используя шаблон, предложенный документацией FastAPI (https://fastapi.tiangolo.com/tutorial/r ... el/#return -тип и фильтрация данных). При запуске кода ошибок не возникает, а приложение работает правильно, возвращая правильные результаты в правильных моделях. Однако я получаю ошибки проверки Pylance, что типы возвращаемых значений моей функции несовместимы с моими возвращаемыми данными.
Вот мои модели FastAPI SQLModel/Pydantic:

Код: Выделить всё

class PetBase(SQLModel):
name: str

class Pet(PetBase, table=True):
id: str

class PetOutgoing(PetBase):
id: str
Вот мой обработчик:

Код: Выделить всё

@router.get("/{pet_id}")
def retrieve_one(pet_id: str) -> PetOutgoing:
pet: Pet = get_pet_by_id(pet_id)
return pet
Эта конечная точка возвращает модель PetOutgoing. FastAPI преобразует его на лету.
Но вот я получаю ошибку проверки Pylance.

Код: Выделить всё

Expression of type "Pet" is incompatible with return type "PetOutgoing"
"Pet" is incompatible with "PetOutgoing" PylancereportReturnType
(variable) pet: Pet
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/788 ... t-converts

Вернуться в «Python»