Hmm....I tried it again with echo=debug and some output but it seems that my query returns no results (although when I try it on its own it returns the right ones). When I try to just use it with only one name in bar_table, it works perfectly but with multiple names it doesnt work. Can column_property handle this kind of thing? or should I be looking for something else?
foo_table = Table("foo", metadata, Column("foo_id", Integer, primary_key=True), Column("data", Text, nullable=False) ) bar_table = Table("bar", metadata, Column("bar_id", Integer, primary_key=True), Column("foo_id", Integer, ForeignKey("foo.foo_id")), Column("name", Text) ) class Foo(object): pass mapper(Foo, foo_table, properties={ "names" : column_property(select([bar_table.c.name], foo_table.c.foo_id == bar_table.c.foo_id).label("names")) } ) session = Session() for i in session.query(Foo): print i, i.names 2009-05-17 19:06:42,031 INFO sqlalchemy.engine.base.Engine.0x...2e70 BEGIN 2009-05-17 19:06:42,033 INFO sqlalchemy.engine.base.Engine.0x...2e70 SELECT (SELECT bar.name FROM bar WHERE foo.foo_id = bar.foo_id) AS names, foo.foo_id AS foo_foo_id, foo.data AS foo_data FROM foo 2009-05-17 19:06:42,033 INFO sqlalchemy.engine.base.Engine.0x...2e70 [] Many thanks again, Nathan 2009/5/15 Michael Bayer <mike...@zzzcomputing.com>: > > put echo='debug' to see what the results are. > > On May 15, 2009, at 8:08 AM, Nathan Harmston wrote: > >> >> Hi, >> >> I am trying to use a column property, I have a class Foo: >> >> class Foo(object): >> pass >> >> which is mapped to a table foo_table and it has multiple names which >> are stored in bar_table with foo_id as the primary key in Foo and >> ForeignKey in bar_table. >> >> I am trying to use a column property to access these: >> >> mapper(Foo, foo_table, properties={ "names" : >> column_property(select([bar_table.c.name], bar_table.c.foo_id == >> foo_table.c.foo_id).label("names")) } ) >> >> so when I try to query any of the objects I just get no results back, >> but when I try it without the column property I get something back. >> >> Am I just doing something incredibly stupid wrong? >> >> Many thanks in advance, >> >> Nathan >> >> > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---