class AdapterParameterDefineModel(BaseModel): __tablename__ = 'AdapterParameterDefine' adapter = Column(VARCHAR(128), primary_key=True) update_token = Column(VARCHAR(64), nullable=False) vendor = Column(VARCHAR(64), nullable=False) define = Column(TextJson, nullable=False) create_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP')) update_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')) import sqlalchemy.types as types class TextJson(types.TypeDecorator): """ 自带json dump load的数据类型 """ impl = types.TEXT def process_bind_param(self, value, dialect): return json.dumps(value) def process_result_value(self, value, dialect): if value is not None: return json.loads(value) else: return value #可以直接obj.define['xxx'],相当于可以直接把对象define拿到的值做字典处理。对于长文本非常有用。