Flask sqlAlchemy:为现有数据库结构创建模型

时间:2018-06-18 16:04:27

标签: python python-3.x sqlalchemy flask-sqlalchemy

我是sqlAlchemy的新手,我想知道是否有办法创建一个可以映射到DB中现有表的类而不指定表的任何列(但是所有列都可以作为对象的属性进行访问)?

2 个答案:

答案 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。