#python #dependency-injection #crud #fastapi
#python #внедрение зависимостей #crud #fastapi
Вопрос:
Всякий раз, когда я отправляю post-запрос, подобный curl -X POST localhost:8000/api/search/86e0220a-e5ae-434c-aad1-c037a58885a9
моему бэкэнду, я получаю следующую ошибку: AttributeError: 'Depends' object has no attribute 'query'
мой fastapi_backend.py код:
# Dependency
def get_db():
db = SessionLocal()
try:
return db
except Exception as e:
print('Error: ' str(type(e)))
finally:
db.close()
@app.post("/api/search/{uuid}", response_model=schemas.ToClient)
def search(uuid:UUID, background_tasks: BackgroundTasks , db: Session = Depends(get_db)):
print("/api/search")
userRequest = crud.get_userRequest_by_uuid(db=db, uuid=uuid)
background_tasks.add_task(search, userRequest)
return schemas.ToClient(title="search started",text="let's go!")
мой crud.py:
def get_userRequest_by_uuid(db: Session, uuid:UUID):
return db.query(models.UserRequest).filter(models.UserRequest.uuid == uuid).first()
Кто-нибудь знает, в чем моя ошибка? Я предполагаю, что это связано с переменной db, но я застрял в поиске решения
Комментарии:
1. Я считаю , что это должно быть сказано
yield db
, а неreturn db
.2. Спасибо! Это имело значение!