JSON字段定义
            
            
              python
              
              
            
          
          from sqlalchemy import Column, JSON
class Table(Base):
    __tablename__ = "table"
    __table_args__ = ({"comment": "表名称"})
    ...
    extra = Column(JSON, comment="其他属性")
    ...局部序列化
            
            
              python
              
              
            
          
          def create(extra):
    table= Table()
    # 直接存储,sqlalchemy会调用json.dumps序列化后存储,中文会被编码,修改ensure_ascii=False中文显示正常
    # table.extra = extra
    table.extra = json.dumps(extra, ensure_ascii=False)全局序列化
            
            
              python
              
              
            
          
          # app.config 中设置SQLALCHEMY_ENGINE_OPTIONS 
SQLALCHEMY_ENGINE_OPTIONS = {
    # 全局写入json时的序列化操作
    "json_serializer": lambda obj: json.dumps(obj, ensure_ascii=False)
}设置json_serializer后,可以使用table.extra = extra保存json数据。
最终json_serializer会被传递至create_engine中去,官网文档中搜索json_serializer。