######## BEGIN CODE SNIPPET import sqlalchemy from sqlalchemy import String, ForeignKey from sqlalchemy.ext.activemapper import ActiveMapper, column, one_to_many import sqlalchemy.ext.activemapper as activemapper
class A(ActiveMapper): class mapping: id = column(String, primary_key=True) Bs = one_to_many('B', colname='a_id', backref='a') class B(ActiveMapper): class mapping: a_id = column(String, foreign_key=ForeignKey('a.id'), primary_key=True) c = column(String, nullable=False, primary_key=True) activemapper.metadata.connect('sqlite:///:memory:') activemapper.metadata.create_all() a1 = A(id='foo') b1 = B(a=a1, c='qux') b2 = B(a=a1, c='quux') B.get_by(a=a1) ######## END CODE SNIPPET $ python2.4 sa-test.py Traceback (most recent call last): File "sa-test.py", line 25, in ? B.get_by(a=a1) File ".../lib/sqlalchemy/ext/assignmapper.py", line 7, in do return getattr(query, name)(*args, **kwargs) File ".../lib/sqlalchemy/orm/query.py", line 71, in get_by x = self.select_whereclause(self.join_by(*args, **params), limit=1) File ".../lib/sqlalchemy/orm/query.py", line 108, in join_by c = (prop.columns[0]==value) & self.join_via(keys) AttributeError: 'LazyLoader' object has no attribute 'columns' ...this running against SQLAlchemy trunk r1865. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Sqlalchemy-users mailing list Sqlalchemy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users