]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
proof of concept. relationships.JoinCondition is given
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 6 Feb 2012 19:48:03 +0000 (14:48 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 6 Feb 2012 19:48:03 +0000 (14:48 -0500)
commitc11bc3f278862e72051ca5fe6ef35eb8d4bf9d99
treec2c1d21846e9c0009d1e9976200fcdaf0329d718
parent73f734bf80166c7dfce4892941752d7569a17524
proof of concept.   relationships.JoinCondition is given
everything known about the relationship in an ORM-agnostic
way.   The primaryjoin is determined as before, but is
then immediately parsed and annotated with "foreign",
"local" and "remote" annotations.  These annotations
will then drive the additional decisions made, namely
"direction" and "sync pairs".   The end user will be
able to pass a pre-annotated join condition in which
case those annotations take effect as given, which
will in one pass fix both #1401 as well as #610
(for #610, the "foreign" / "remote" annotation can
recursively descend down to ColumnElement objects).
lib/sqlalchemy/orm/relationships.py [new file with mode: 0644]
test/orm/test_rel_fn.py [new file with mode: 0644]