Python SQLAlchemy-如何序列化自动加载的模型?

Python SQLAlchemy-如何序列化自动加载的模型?,python,sqlalchemy,Python,Sqlalchemy,我使用此自定义类将表动态加载到模型中: class Database: tables = [] def __init__(self, db_url=None, session=None): self.url = db_url if session: self.session = session self.engine = session.get_bind() self.tab

我使用此自定义类将表动态加载到模型中:

class Database:
    tables = []

    def __init__(self, db_url=None, session=None):
        self.url = db_url
        if session:
            self.session = session
            self.engine = session.get_bind()
            self.table_names = self.engine.table_names()

    def __repr__(self):
        return "Database:\nEngine:{}, Tables: {}".format(self.engine, self.table_names)

    def load_tables(self):
        self.tables = self.tables()

    def tables(self):
        return [
            type(
                table_name,
                (Base,),
                {
                    "__tablename__": table_name,
                    "__table_args__": {"autoload": True, "autoload_with": self.engine},
                },
            )
            for table_name in self.table_names
        ]
但是,当我想通过API端点发送查询的对象时,我无法将它们序列化为JSON:

for table in database.tables:
        if table.__tablename__ == tablename:
            Model = table
    rows = database.session.query(Model).all()
    return {
        "message": "Table `{}` rows returned.".format(tablename),
        "rows": rows,
        "status": 0,
    }
返回:
TypeError:posts类型的对象不可JSON序列化。
(在本例中,此表名为
posts

有没有办法用一些默认的序列化来扩展这些模型?

您可以使用以下工具