注册

SQLAlchemy连接数据库,db.commit()报错

DM_999924 2024/10/29 252 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:ubuntu
【CPU】:
【问题描述】*:
dmPython 2.5.5
SQLAlchemy 1.4.31
sqlalchemy-dm 1.4.39

报错如下:

10 [2024-10-29 15:14:38 +0800] ERROR Traceback (most recent call last):
  File "/app/src/sql_app/crud.py", line 320, in delete_document
    db.commit()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1431, in commit
    self._transaction.commit(_to_root=self.future)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 829, in commit
    self._prepare_impl()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 808, in _prepare_impl
    self.session.flush()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 3363, in flush
    self._flush(objects)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 3503, in _flush
    transaction.rollback(_capture_exception=True)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 3463, in _flush
    flush_context.execute()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 432, in execute
    postsort_actions = self._generate_actions()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 390, in _generate_actions
    if action.execute(self):
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 520, in execute
    self.dependency_processor.presort_deletes(uow, delete_states)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/dependency.py", line 442, in presort_deletes
    state, self.key, self._passive_delete_flag
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 278, in get_attribute_history
    | attributes.NO_RAISE,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 1381, in get_history
    current = self.get(state, dict_, passive=passive)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 941, in get
    value = self._fire_loader_callables(state, key, passive)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 977, in _fire_loader_callables
    return self.callable_(state, passive)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 917, in _load_for_state
    extra_criteria,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 1048, in _emit_lazyload
    stmt, params, execution_options=execution_options
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1692, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1614, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 326, in _execute_on_connection
    self, multiparams, params, execution_options
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1491, in _execute_clauseelement
    cache_hit=cache_hit,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2030, in _handle_dbapi_exception
    util.raise_(exc_info[1], with_traceback=exc_info[2])
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1818, in _execute_context
    result = context._setup_result_proxy()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 1444, in _setup_result_proxy
    self, strategy, cursor_description
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/cursor.py", line 1264, in __init__
    metadata = self._init_metadata(context, cursor_description)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/cursor.py", line 1293, in _init_metadata
    metadata = self._cursor_metadata(self, cursor_description)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/cursor.py", line 187, in __init__
    loose_column_name_matching,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/cursor.py", line 382, in _merge_cursor_description
    for idx, rmap_entry in enumerate(result_columns)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/cursor.py", line 382, in <listcomp>
    for idx, rmap_entry in enumerate(result_columns)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy_dm-1.4.39-py3.7.egg/sqlalchemy_dm/base.py", line 1552, in get_result_processor
    return super(DMExecutionContext, self).get_result_processor(type_, colname, coltype)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 1388, in get_result_processor
    return type_._cached_result_processor(self.dialect, coltype)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/type_api.py", line 702, in _cached_result_processor
    d[coltype] = rp = d["impl"].result_processor(dialect, coltype)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/sqltypes.py", line 2663, in result_processor
    json_deserializer = dialect._json_deserializer or json.loads
AttributeError: 'DMDialect_dmPython' object has no attribute '_json_deserializer'
回答 0
暂无回答
扫一扫
联系客服