欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[Python]Transform the entity result to JSON

程序员文章站 2022-06-25 15:45:52
this post gives the guide of how to use sqlalchemy's engine, session and query api and cha...

this post gives the guide of how to use sqlalchemy's engine, session and query api and change the results into json format.

from sqlalchemy import create_engine,column,integer,string
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from json import dumps
 
def to_json(model):
    """ returns a json representation of an sqlalchemy-backed object.
    """
    json = {}
    json['fields'] = {}
    json['pk'] = getattr(model, 'id')
 
    for col in model._sa_class_manager.mapper.mapped_table.columns:
        json['fields'][col.name] = getattr(model, col.name)
 
    return dumps([json])

engine = create_engine('sqlite:///sqlite.db',echo=true)
session = sessionmaker(bind=engine)
base = declarative_base()

class user(base):
	__tablename__ = 'user'
	id = column(integer,primary_key=true)
	name = column(string)
	
session = session()

'''
user = user(id=2,name='developer')
session.add(user)
session.commit()
'''
users = session.query(user).order_by(user.id).all()
for user in users:
	print to_json(user)
print '--->done :-)'