如何创建子/父对象为json的sqlalchemy类?

2024-10-03 00:17:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我在SQLAlchemy中有这个模型,我将把这个模型转换成带有关系的json模型

class Test(Base):

    __tablename__ = 'reltest'

    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    fullname = Column(String(50))
    password = Column(String(50))
    parent_id = Column(Integer, ForeignKey('reltest.id'),index=True)
    children = relationship(lambda: Student, remote_side=[id])
    hashid = None

查询全选:

^{pr2}$

我怎么做?在


Tags: 模型testidjsontruebasestringsqlalchemy
1条回答
网友
1楼 · 发布于 2024-10-03 00:17:30

我知道你问这个已经很久了问题。可能吧谁会发现这个有用

from json import JSONEncoder, dumps

class DatabaseObjectEncoder(JSONEncoder):
    def default(self, o):
        if isinstance(o, Base):
            return o.get_dict()
        return super(DatabaseObjectEncoder, self).default(o)
    def json_encode_db_obj(obj):
        return dumps(obj, cls=DatabaseObjectEncoder)


    Session = sessionmaker(bind=ConnectEngine())
    sessiondb = Session()
    c = json_encode_db_obj(sessiondb.query(Student).all()) # c should have a json now

相关问题 更多 >