- changed status to resolved
association proxy any() on o2m->non object scalar
Issue #3397
resolved
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.associationproxy import association_proxy
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
_all_emails = relationship('UserEmail')
all_emails = association_proxy('_all_emails', 'email')
class UserEmail(Base):
__tablename__ = 'user_emails'
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey('users.id'))
email = Column(String, nullable=False, index=True)
s = Session()
print s.query(User).filter(User.all_emails.any(UserEmail.email.like('foo')))
#print s.query(User).filter(User._all_emails.any(UserEmail.email == 'foo'))
#!
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/ext/associationproxy.py", line 233, in _value_is_scalar
mapper.get_property(self.value_attr).uselist
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/util/langhelpers.py", line 843, in __getattr__
return self._fallback_getattr(key)
File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/util/langhelpers.py", line 821, in _fallback_getattr
raise AttributeError(key)
AttributeError: uselist
Comments (1)
-
reporter - Log in to comment
filter(Parent.some_collection_to_attribute.any(Child.attr == 'foo'))
fixes#3397→ <<cset 4f6e9ccae93b>>