【问题标题】:How to create sqlalchemy class with child/parent to json?如何创建带有子/父到json的sqlalchemy类?
【发布时间】:2016-06-06 11:53:24
【问题描述】:

我在 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

查询全选:

Session = sessionmaker(bind=ConnectEngine())
sessiondb = Session()
c = sessiondb.query(Student).all() ?? ## How to Convert List Object To JSON

我该怎么做?

【问题讨论】:

    标签: python django sqlalchemy


    【解决方案1】:

    我知道你问这个问题已经很久了。也许这对偶然发现这个问题的人有用

    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
    

    【讨论】:

      猜你喜欢
      • 2013-02-01
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多