将SqlAlchemy查询对象转换为dict(json)
aljson的Python项目详细描述
将SqlAlchemy查询对象转换为dict(json)
安装
pip install aljson
使用
^{pr2}$完整的例子
fromsqlalchemy.ormimportsessionmaker,relationship,backreffromsqlalchemy.ext.declarativeimportdeclarative_basefromaljsonimportBaseMixinimportsqlalchemyassaBase=declarative_base()classParent(Base,BaseMixin):__tablename__='parent'id=sa.Column(sa.Integer,primary_key=True,unique=True)name=sa.Column(sa.String(64))classChild(Base,BaseMixin):__tablename__='child'id=sa.Column(sa.Integer,primary_key=True,unique=True)name=sa.Column(sa.String(64))parent_id=sa.Column(sa.Integer,sa.ForeignKey('parent.id'))parent=relationship("Parent")# Create an engine that stores data in the local directory's# sqlalchemy_example.db file.engine=sa.create_engine('sqlite:///my_database.sqlite')# Create all tables in the engine. This is equivalent to "Create Table"# statements in raw SQL.Base.metadata.create_all(engine)DBSession=sessionmaker(bind=engine)session=DBSession()# Create a new parent and a childnew_parent=Parent()new_parent.name="parent_1"new_child=Child()new_child.name="child_1"new_child.parent=new_parentsession.add(new_parent)session.add(new_child)session.commit()# Search for a rowquery_result=session.query(Child).first()# And you can call .to_jsonprint(query_result.to_json())# The result should be like this:# {'id': 1, 'name': 'child_1', 'parent_id': 1, 'parent': {'id': 1, 'name': 'parent_1'}}
- 项目
标签: