######## 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

Reply via email to