Hi,
SQLAlchemy magic is needed!
I have users table plus two many-to-many relations (skills and cities).
I'm trying to implement a search on one or two of these relations.
It works fine if I join with skills OR cities but it gives weird error when
I'm trying to join both.
I suspect my .join() call just incorrect, I'd be very grateful if someone
could point out what's wrong with it.
Here is the code.
relations = ['profile']
if skill:
relations.append('skills')
if city:
relations.append('city')
q = self.db.query_users.join(*relations)
if skill:
q = q.filter(Skill.name == skill)
if city:
q = q.filter(City.name == city)
And the traceback I get when both skill and city are non-empty:
File '/var/www/dou-www/doupy/doupy/controllers/members.py', line 263 in
browse
q = self.db.query_users.join(*relations)
File '<string>', line 1 in <lambda>
File
'/var/www/dou-www/py/lib/python2.5/site-packages/SQLAlchemy-0.5.2-py2.5.egg/sqlalchemy/util.py',
line 212 in go
return fn(*args, **kw)
File
'/var/www/dou-www/py/lib/python2.5/site-packages/SQLAlchemy-0.5.2-py2.5.egg/sqlalchemy/orm/query.py',
line 873 in join
return self.__join(props, outerjoin=False, create_aliases=aliased,
from_joinpoint=from_joinpoint)
File '<string>', line 1 in <lambda>
File
'/var/www/dou-www/py/lib/python2.5/site-packages/SQLAlchemy-0.5.2-py2.5.egg/sqlalchemy/orm/query.py',
line 52 in generate
fn(self, *args[1:], **kw)
File
'/var/www/dou-www/py/lib/python2.5/site-packages/SQLAlchemy-0.5.2-py2.5.egg/sqlalchemy/orm/query.py',
line 956 in __join
descriptor, prop = _entity_descriptor(left_entity, onclause)
File
'/var/www/dou-www/py/lib/python2.5/site-packages/SQLAlchemy-0.5.2-py2.5.egg/sqlalchemy/orm/util.py',
line 508 in _entity_descriptor
desc = entity.class_manager[key]
KeyError: 'city'
--
Max.Ischenko // twitter.com/maxua
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---