我在SQLAlchemy
中定义了如下所示的模型class Users(db.Model, CRUD_MixIn):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(250), nullable=False, unique=True)
password = db.Column(db.String(250), nullable=False)
name = db.Column(db.String(250), nullable=False)
active = db.Column(db.Integer, nullable=False)
creation_time = db.Column(db.TIMESTAMP, server_default=db.func.current_timestamp(), nullable=False)
role = db.Column(db.String(250), db.ForeignKey('roles.name'))
我想从中生成一个YAML文件,如下所示:
users:
- email:email
- password:string
- name:string
- active:boolean
- creation_time:datetime
- modification_time:datetime
- role:string
有没有办法在python中做到这一点?
答案 0 :(得分:0)
您可以按列迭代并获取python_types,类似这样的
import yaml
def yaml_from_model(model):
columns = {c.name: c.type.python_type.__name__
for c in model.__table__.columns}
return yaml.dump({model.__name__.lower(): columns},
default_flow_style=False)
>> print yaml_from_model(Users)
>> users:
active: int
creation_time: datetime
email: str
id: int
name: str
password: str
role: str