VSCode Pylance-Fehler beim FastAPI-Antworttyp, der konvertiertPython

Python-Programme
Anonymous
 VSCode Pylance-Fehler beim FastAPI-Antworttyp, der konvertiert

Post by Anonymous »

Ich verwende VSCode und die standardmäßige Python Language Support-Erweiterung von MS, die mit Pylance verknüpft ist. Ich habe ein Python 3.12 FastAPI-Projekt, das Typanmerkungen verwendet, um anzugeben, welche Modelle als Antworten von den Handlern zurückgegeben werden sollen, und zwar unter Verwendung des in den FastAPI-Dokumenten vorgeschlagenen Musters (https://fastapi.tiangolo.com/tutorial/r ... -filtering). Es gibt keine Fehler, wenn der Code ausgeführt wird und die App ordnungsgemäß funktioniert und die richtigen Ergebnisse in den richtigen Modellen zurückgibt. Allerdings erhalte ich Pylance-Linting-Fehler, die besagen, dass meine Funktionsrückgabetypen nicht mit meinen Rückgaben kompatibel sind.
Hier sind meine FastAPI SQLModel/Pydantic-Modelle:

Code: Select all

class PetBase(SQLModel):
name: str

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

class PetOutgoing(PetBase):
id: str
Hier ist mein Handler:

Code: Select all

@router.get("/{pet_id}")
def retrieve_one(pet_id: str) -> PetOutgoing:
pet: Pet = get_pet_by_id(pet_id)
return pet
Dieser Endpunkt gibt das PetOutgoing-Modell zurück. FastAPI konvertiert es im Handumdrehen.
Aber hier ist der Pylance-Linting-Fehler, den ich bekomme.

Code: Select all

Expression of type "Pet" is incompatible with return type "PetOutgoing"
"Pet" is incompatible with "PetOutgoing" PylancereportReturnType
(variable) pet: Pet
Was mache ich falsch?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post