]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Deannotate "parententity" in primaryjoin/secondaryjoin
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 14 Nov 2018 16:31:22 +0000 (11:31 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 14 Nov 2018 16:35:45 +0000 (11:35 -0500)
commit4ee5b2c4a9e7ad9f3df75940b9837d5c65cba6fd
tree2d9897ef7ba5e6e69d33098f2d9dbaa0fb2fad3d
parent616b226f74e63e72a6e02f2770fac3933e3cc098
Deannotate "parententity" in primaryjoin/secondaryjoin

Fixed bug where the ORM annotations could be incorrect for the
primaryjoin/secondaryjoin a relationship if one used the pattern
``ForeignKey(SomeClass.id)`` in the declarative mappings.   This pattern
would leak undesired annotations into the join conditions which can break
aliasing operations done within :class:`.Query` that are not supposed to
impact elements in that join condition.  These annotations are now removed
up front if present.

Also add a test suite for has/any into test_query which will
form the basis for new tests to be added in :ticket:`4366`.

Fixes: #4367
Change-Id: I929ef983981bb49bf975f346950ebb0e19c986b8
doc/build/changelog/unreleased_12/4367.rst [new file with mode: 0644]
lib/sqlalchemy/orm/relationships.py
test/orm/test_query.py
test/orm/test_rel_fn.py