page 199 of the SQLAlchemy oreilly book talks about association proxy ;)
On Feb 25, 2009, at 6:12 PM, Stephen Telford wrote: > Okay, that sounds like a plan but., not to sound too much like a > broken record, does anyone have an -actual- example ? looking at > pages with a lot of API's is not really going to help me too much :( > > This maybe slightly off-topic and it's really NOT meant as flamebait > but.. I remember a while ago playing around with DBIx (the perl ORM) > and one of the things that -really- made it easy to get to grips > with as the DBIx::Cookbook. It maybe a good idea to fling something > similiar into the sqlalchemy documentation... > > if I had more experience I would write it but.. yes. It definitely > is the quickest ORM I have seen/used, but, all the speed is for > naught if you hit the 20% wall. > > Regards > Stef > > On Wed, Feb 25, 2009 at 4:21 PM, Michael Bayer <mike...@zzzcomputing.com > > wrote: > check out the association proxy extension if you're looking to have > "Bar" be "hidden" as an association object. it will ultimately use > Foo/Bar for querying but attribute access would be proxied through > the names you confgure. > > > On Feb 25, 2009, at 4:11 PM, Stephen Telford wrote: > >> Hello Az, >> Yes, Bar is the association table of Foo to Foo. In essence, >> this is a self join through a join table.. I have tried and hit my >> head on this for (quite literally) hours. In the end, and for the >> record, I ended up creating a method on the model itself such as ; >> >> def children(self): >> childFoo=Foo.__table__.alias() >> return >> object_session(self).query(Foo).filter(and_(childFoo.c.deleted == >> 0, childFoo.id <> self.id, self.id == Bar.parent_id)) >> >> Not the prettiest way, nor what I would expect, but in lieu of >> an actual example, and to help anyone who ends up treading the same >> path as me, I hope this helps. >> >> Regards >> Stef >> >> On Wed, Feb 25, 2009 at 4:29 AM, <a...@svilendobrev.com> wrote: >> >> u mean, the Bar is an association table of Foo to Foo? >> u have to use secondary_table and/or secondary_join in the relation >> setup. And probably specify remote_side or it may not know which Foo >> is what. >> >> On Wednesday 25 February 2009 03:39:20 Stef wrote: >> > Hello Everyone, >> > First of all, kudos on SQLAlchemy.. the speed is pretty amazing >> > - I am coming from the SQLObject world and there is a definite >> > difference. Excellent work. I am also getting to grips with it >> > pretty quickly, using object_session and all that good stuff. This >> > said, I have hit that 20% problem, and am hoping someone can shine >> > a light on it. >> > >> > I have a table, lets call it Foo and another table Bar. Foo >> > should be able to get a list of it's parents via Bar or it's >> > children via Bar. I am also using the declarative_base system >> > rather than table/ mapper defined seperately. >> > >> > class Foo(Base): >> > id = Column(Integer, primary_key=True) >> > >> > class Bar(Base): >> > parent_id = Column(Integer, default=0) >> > child_id = Column(Integer, default=0) >> > >> > So, I thought something like ; children = relation(Foo, >> > backref=backref('parents'), primaryjoin=and_(Foo.id==Bar.parent_id) >> > >> > But that's where I hit the 'wall' as it were, is there a way to >> > setup a synonym for Foo in the primaryjoin clause ? Am I missing >> > something stupid ? (I am okay with that ;) >> > >> > Regards >> > Stef >> > >> >> >> >> >> >> > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---