SQL ALCHEMY- FAST API- API 模块对象不可调用

SQL ALCHEMY- FAST API- API MODULE OBJECT NOT CALLABLE

测试sql炼金术的终点。错误读取:模块对象不可调用?查询词也没有突出显示。本教程说我应该做 db.query(models.Posts).all() 但这也不起作用。通常 vs 代码突出显示和自动完成,所以我知道它连接到正确的对象。

当我输入 db.query() 时,ide 无法识别查询方法?我什至从 sqlalchemy.orm 手动导入它,但它仍然无法识别??其他一切正常,只是通过查询方法测试 orm 是错误的。

错误提示:_connection_for_bind 中的文件“C:****/**/***lib\site-packages\sqlalchemy\orm\session.py”,第 747 行 conn = bind.connect() AttributeError: 'function' 对象没有属性 'connect'

在教程中,老师只是输入db。 query(models.Post).all() 和所有函数和方法都被识别。在我的查询中无法识别。请帮忙


from logging import exception
from random import randrange
from tkinter.tix import STATUS
from typing import Optional
from urllib import response
from fastapi import Body, FastAPI, Query, Response ,status, HTTPException , Depends
from pydantic import BaseModel
import psycopg2
from psycopg2.extras import RealDictCursor
import time
from sqlalchemy import create_engine, engine_from_config 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy.orm import sessionmaker,session , query

import models 
from database import ormengine , SessionLocal , get_db


@app.get("/sqlalchemy")
def test_post(db: session= Depends(get_db)):
    post = db.query(models.Post).all()
    return {"data":post} 

models.py 文件为:

import string
from typing import Text
from xmlrpc.client import boolean
from database import Base, SessionLocal
from sqlalchemy import TIMESTAMP, Integer, PrimaryKeyConstraint, String, Boolean, Column 
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql.expression import null , text
from sqlalchemy.sql.sqltypes import Text , TIMESTAMP

class Post(Base):
    __tablename__= 'apiproj2'

    id= Column( Integer , primary_key= True, nullable= False)
    title= Column( String, nullable= False)
    content = Column( String, nullable= False)
    published= Column(Boolean, server_default= 'True' , nullable=False)
    created_at = Column(TIMESTAMP( timezone=True), nullable= False , server_default= text('now()'))

database.py

from sqlalchemy import create_engine, engine_from_config
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy.orm import sessionmaker 




 SQLALCHEMY_DATABASE_URL = "postgresql://postgres:naijalife@localhost/fastapi database"
    sqlalchemy_conn= 'postgresql://postgres:naija4life@localhost/fastapi database'
    ormengine= create_engine(sqlalchemy_conn)
    SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind= engine_from_config )
    Base = declarative_base()

# Dependency
def get_db():
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()

我调用了错误的引擎,我应该调用 ormengine。我创建的用于连接数据库的引擎。教程中有错误。我改变了这个但它没有用,在重新启动 vs 代码后它起作用了。感谢大家的帮助。