peewee可以用Model直接在数据库中创建表
反过来也可以,用数据库中已经存在的表创建Model

前提:已经安装peewee模块pip install peewee

$ python -m pwiz -e mysql -H localhost -p 3306 -u root -P  -t table_names database_name > model.py

参数解释:

选项 解释 举例
-h help 显示帮助 -h
-e engine 数据库引擎 -e mysql
-H host 数据库地址 -H localhost
-p port 数据库端口 -p 3306
-u user 数据库用户名 -u root
-P password 数据库密码 -P
-s schema 模式 -s public
-t tables 指定生成来自表格 -t tweet,users,relationships
-v VIEWs 指定生成来自视图 -v
-i info 添加原信息 -i
-o order 保留表格列顺序 -o

engine支持的数据库:
sqlite
mysql
postgresql

举例

命令行语句

$ python -m pwiz -e mysql -H localhost -p 3306 -u root -P  -t names demo > names.py

生成的names.pyModel文件

from peewee import *


database = MySQLDatabase('demo', **{'charset': 'utf8', 'use_unicode': True, 'host': 'localhost', 'port': 3306, 'user': 'root', 'password': '123456'})


class BaseModel(Model):
    class Meta:
        database = database

class Names(BaseModel):
    age = IntegerField(null=True)
    name = CharField(null=True, unique=True)

    class Meta:
        table_name = 'names'

参考:
pwiz, a model generator