我是sqlAlchemy的新手,我想知道是否有办法创建一个可以映射到DB中现有表的类而不指定表的任何列(但是所有列都可以作为对象的属性进行访问)?
答案 0 :(得分:0)
最近遇到过这个问题。请尝试以下步骤:
from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy.orm import mapper, sessionmaker
class User(object): # class which can can act as ORM class
pass
dbPath = 'places.sqlite'
engine = create_engine('sqlite:///%s' % dbPath, echo=True) # create engine
metadata = MetaData(engine)
user_table= Table('user_existing_class', metadata, autoload=True) # create a Table object
mapper(User, user_table) # map Table to ORM class
Session = sessionmaker(bind=engine)
session = Session()
res = session.query(User).all()
res[1].name
答案 1 :(得分:0)
这就是我为使用 MS SQL 的flask-sqlalchemy 生成模型的方式。
flask-sqlacodegen --flask mssql+pymssql://<username>:<password>@<server>/<database> --tables <table_names>> db_name.py
你必须安装flask-sqlacodegen和pymssql。