SqlAlchemy RuntimeError: deque mutated during iteration

Viewed 257

I'm getting a weird error and have no idea how to handle that. Seems like something changes between db.session.add and db.session.commit. But not sure how to prevent that. I have a feeling that is something deal with atomic transaction. But not sure how to fix that. Any suggestions?

RuntimeError: deque mutated during iteration
  db.session.flush()
  File "sqlalchemy/orm/scoping.py", line 162, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "sqlalchemy/orm/session.py", line 2496, in flush
    self._flush(objects)
  File "sqlalchemy/orm/session.py", line 2637, in _flush
    transaction.rollback(_capture_exception=True)
  File "sqlalchemy/util/langhelpers.py", line 69, in __exit__
    exc_value, with_traceback=exc_tb,
  File "sqlalchemy/util/compat.py", line 178, in raise_
    raise exception
  File "sqlalchemy/orm/session.py", line 2597, in _flush
    flush_context.execute()
  File "sqlalchemy/orm/unitofwork.py", line 422, in execute
    rec.execute(self)
  File "sqlalchemy/orm/unitofwork.py", line 589, in execute
    uow,
  File "sqlalchemy/orm/persistence.py", line 264, in save_obj
    ) in states_to_update
  File "sqlalchemy/orm/persistence.py", line 1434, in _finalize_insert_update_commands
    mapper.dispatch.after_update(mapper, connection, state)
  File "sqlalchemy/event/attr.py", line 321, in __call__
    for fn in self.listeners:
0 Answers
Related