Hi!

Lets have:
######################
users_table = Table("users", metadata,
    Column("id", Integer, primary_key=True),
    Column("user_name", String(16))
)

addresses_table = Table("addresses", metadata,
    Column("id", Integer, primary_key=True),
    Column("id_user", Integer, ForeignKey("users.id")),
    Column("addr", String(100))
)

class User(object): pass

class Address(object): pass

mapper(Address, addresses_table)
mapper(User, users_table, properties = {
        "addresses" : relation(Address, cascade="all, delete-orphan",
                               backref=backref("user")),
    }
  )

######################

I have a user:
user = session.query(User).get_by_user_name("bob")

and I want some of his addresses using some criterion (e.g. all
beginning on "b") so I can't use user.addresses.

I know I can do s.query(Address).select_by(id_user=u.id) but that is not
very clean.

I tried s.query(Address).select_by(user=u) as I found similar in the
documentation
(http://www.sqlalchemy.org/docs/datamapping.html#datamapping_selectrelations_relselectby)
but SA raises:
AttributeError: 'LazyLoader' object has no attribute 'columns'

Any suggestion?

Thanks.

David

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to