0

从表中获取所有数据时在 sqlAlchemy 查询中遇到问题,当我使用 . all()方法

这是错误:

File "./individual/admin/handler.py", line 69, in test_account_indiv
    query = Query(User).filter_by(account_type="INDIVIDUAL", is_deleted=0).all()
  File "/home/awaiskaleem/Documents/backend-api-develop/venv/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3341, in all
    return list(self)
  File "/home/awaiskaleem/Documents/backend-api-develop/venv/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3502, in __iter__
    self.session._autoflush()
**AttributeError: 'NoneType' object has no attribute '_autoflush'**

这是代码:

query = Query(User).filter_by(account_type="INDIVIDUAL", is_deleted=0).all()

rows = query.with_session(session)

    only = ("id", "full_name", "status", "default_address.id", "default_address.region.id",
            "default_address.region.name", "tags.tag", "tags.hex_color",
            "assigned_region_workers.region_worker.worker.id",
            "assigned_region_workers.region_worker.worker.full_name")

    schema = UserSchema(only=only, many=True)

    result = schema.dump(rows)

这是连接:

session_maker = sessionmaker()

USER = os.getenv('DB_USER')
PASSWORD = os.getenv('DB_PASSWORD')
URL = os.getenv('DB_URL')
DB = os.getenv('DB_NAME')

try:
    logger.info("Attempting connect to: mysql+pymysql://%s:%s@%s/%s", USER, PASSWORD, URL, DB)
    engine = create_engine("mysql+pymysql://%s:%s@%s/%s" % (USER, PASSWORD, URL, DB), pool_size=1)
    engine.connect()
    logger.info("Connected to: mysql+pymysql://%s:%s@%s/%s", USER, PASSWORD, URL, DB)
    
except SQLAlchemyError as error:
    logger.error("Error connecting to DB")
    logger.error(error)
else:
    session_maker.configure(bind=engine)

Session = session_maker()

我正在使用 MySQL 数据库和 SQLAlchemy ORM 模型在 localhost 上开发基于 AWS Lembda 的无服务器项目,一切都是使用 ubuntu 中的 docker 在虚拟环境中设置的

请帮助我谢谢你的提前

寻找正面回应的前言

4

0 回答 0