[Sqlalchemy-tickets] Issue #3194: misleading warning when "non column elements" in selfref but we h
Brought to you by:
zzzeek
|
From: Mike B. <iss...@bi...> - 2014-09-11 15:47:47
|
New issue 3194: misleading warning when "non column elements" in selfref but we have remote side https://bitbucket.org/zzzeek/sqlalchemy/issue/3194/misleading-warning-when-non-column Mike Bayer: this warns "SAWarning: Non-simple column elements in primary join condition for property Foo.us - consider using remote() annotations to mark the remote side.". we need to qualify the warning for remote_side actually present. ``` #!python from sqlalchemy import Table, Column, Integer, ForeignKeyConstraint, \ MetaData, and_, func from sqlalchemy.orm import mapper, relationship, configure_mappers m = MetaData() composite_selfref = Table( 'composite_selfref', m, Column('id', Integer, primary_key=True), Column('group_id', Integer, primary_key=True), Column('parent_id', Integer), ForeignKeyConstraint( ['parent_id', 'group_id'], ['composite_selfref.id', 'composite_selfref.group_id'] ) ) class Foo(object): pass mapper(Foo, composite_selfref, properties={ "us": relationship( Foo, primaryjoin=and_( composite_selfref.c.group_id == func.foo(composite_selfref.c.group_id), composite_selfref.c.parent_id == composite_selfref.c.id ), remote_side=set([composite_selfref.c.parent_id]), ) }) configure_mappers() ``` |