您的位置:首页 > 编程语言 > Python开发

python 用 sqlacodegen 将存在的数据库表 转化成model.py

2015-01-15 15:07 483 查看
Flask的sqlalchemy对数据库表的模型提供了很多易用的方法。为了使用这些内容,需要将数据库表按照Flask识别的格式创建成Model,但是一般我们都是在已经创建好的数据库环境中开发python代码,对于已经存在的数据库表,可以通过以下方式来生成models.py

首先,安装

pip install sqlacodegen

然后,在命令行执行

sqlacodegen --noviews --noconstraints --noindexes --outfile d:\\models.py mysql://test:test@122.30.100.12:3388/test
--noviews 不对视图生成model

--outfile 后面跟的是将生成的代码输出到哪个文件保存

详细的参数信息可以查看帮助

sqlacodegen --help
生成的文件就可以使用了,例如:

import models
from sqlalchemy import Table, Column, Integer, String, Date, Float, create_engine
import config
from sqlalchemy.orm import sessionmaker
# DB class
import os,sys,inspect

db = create_engine(config.DB_URI)

S=sessionmaker(bind=db)
s=S()
u=s.query(DhBuyerTradeOrderPlace10).first()
if __name__ == '__main__':
print u
print u.username
print "**************"
classlist = []
for name, obj in inspect.getmembers(models):
if inspect.isclass(obj):
print name
print obj
classlist.append((name.lower(),obj))
print classlist
    print dict(classlist)
    classdict = dict(classlist)
    u=s.query(classdict['dhalbumsget10']).first()
    print u.username
    print u.password
    u=s.query(classdict['dhalbumsget10']).all()
    print u[0].username
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐