I am using SQLAlchemy 1.4.2 and have been encountering this strange error message which I've managed to boil down to this minimal example:
import sqlalchemy as sa from sqlalchemy.orm import declarative_base, relationship Base = declarative_base() class Parent(Base): __tablename__ = "parent" id = sa.Column(sa.Integer, primary_key=True) class Child(Base): __tablename__ = "child" id = sa.Column(sa.Integer, primary_key=True) parent_id = sa.Column(sa.Integer, sa.ForeignKey("parent.id")) parent = relationship("Parent") statement = sa.select([Child.id]).join(Child.parent).where(Parent.id == sa.bindparam("id")) statement = statement.params(id=10) The call to statement.params(...) is throwing the following stacktrace. Can anyone tell me what I'm doing wrong? Traceback (most recent call last): File "test_sqlalchemy_error.py", line 20, in <module> statement = statement.params(id=10) File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 346, in params return self._replace_params(False, optionaldict, kwargs) File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 363, in _replace_params return cloned_traverse(self, {}, {"bindparam": visit_bindparam}) File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py", line 742, in cloned_traverse obj = clone(obj, deferred_copy_internals=deferred_copy_internals) File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py", line 735, in clone newelem._copy_internals(clone=clone, **kw) File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/selectable.py", line 5208, in _copy_internals clone=clone, omit_attrs=("_from_obj",), **kw File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/traversals.py", line 718, in _copy_internals result = meth(attrname, self, obj, **kw) File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/traversals.py", line 777, in visit_setup_join_tuple for (target, onclause, from_, flags) in element File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/traversals.py", line 777, in <genexpr> for (target, onclause, from_, flags) in element File ".venv/lib/python3.7/site-packages/sqlalchemy/sql/visitors.py", line 736, in clone meth = visitors.get(newelem.__visit_name__, None) File ".venv/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 308, in __getattr__ replace_context=err, File ".venv/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 198, in raise_ raise exception AttributeError: Neither 'QueryableAttribute' object nor 'Comparator' object associated with Child.parent has an attribute '__visit_name__' -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/e1696eff-495e-4db9-a88a-cc385bbc8690n%40googlegroups.com.