[sqlalchemy] Re: filter on backrelation again

2008-11-18 Thread Michael Bayer
technically you'd say query(X).join(X.all_A.as_type(C)) but I don't know offhand if that use case has been implemented for join() as of yet. you can of course just say query(X).join((A, A.id==x.aid), (C, C.id==A.id)) assuming you're on joined table inheritance. all bets are off for concrete.

[sqlalchemy] Re: filter on backrelation again

2008-11-18 Thread az
query(X).join(X.all_A.of_type(C)) works but produces a subselect (select all-them-columns ...) which is huge/hard to read. i found that query(X).filter( X.all_A.of_type(C).any()) works too, and the subselect is shorter (select 1 ...). hmm, might be useful to somehow differ between a join that