当我使用sqlAlchemy从mysql DB读取数据时,当我的类和搜索代码在同一个py文件中时,它就可以正常工作:
class odd_basis(Base):
__tablename__ = 'odd_basis'
NO = Column(Integer, primary_key=True)
LEAGUE = Column(String(20))
TIME = Column(String(20))
engine = create_engine("......")
session = sessionmaker(bind=engine)
DBsession = session()
basis_data = DBsession.query(odd_basis).filter(odd_basis.NO=='16039').all()
当我将类定义放在另一个py文件中,然后使用sys.path.append进行导入时,会出现此错误:
sqlalchemy.exc.ArgumentError:预期的SQL表达式对象或字符串,取而代之的是对象
我的主要代码:
import sys
sys.path.append("~/analysis/table_class.py")
engine = create_engine("......")
session = sessionmaker(bind=engine)
DBsession = session()
basis_data = DBsession.query(odd_basis).filter(odd_basis.NO=='16039').all()
table_class.py:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, Numeric, ForeignKey, UniqueConstraint, Index
Base = declarative_base()
class odd_basis(Base):
__tablename__ = 'odd_basis'
NO = Column(Integer, primary_key=True)
LEAGUE = Column(String(20))
TIME = Column(String(20))
答案 0 :(得分:0)
Sys.path.append不会导入任何内容。它只会增加您的搜索路径。您需要从那里导入您的课程:
from table_class import odd_basis
等等。
哈努哈利