Venkatesh wrote: > Hello, > I'm using Elixir with SQLAlchemy, and I'm having trouble with > querying a single column in the database. Here is my class and the > error that it throws up when I access a column: > > import elixir > from sqlalchemy import orm, create_engine, MetaData > from sqlalchemy.orm import scoped_session, sessionmaker > from sqlalchemy.types import * > > class dateTest(elixir.Entity): > UserID = elixir.Field(elixir.Integer, primary_key=True, > autoincrement=True) > Date1 = elixir.Field(elixir.TIMESTAMP(timezone=True)) > Date2 = elixir.Field(elixir.DateTime) > > > def __init__(self, uId = None, date1 = None, date2 = None): > self.UserID = uId > self.Date1 = date1 > self.Date2 = date2 > > def __repr__(self): > return '<%s %s %s>' %(repr(self.UserID), self.Date1, > self.Date2) > > >>>> elixir.session.query(dateTest.Date1).all() > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "d:\python24\lib\site-packages\sqlalchemy-0.4.6-py2.4.egg > \sqlalchemy\orm\scoping.py", line 98 > , in do > return getattr(self.registry(), name)(*args, **kwargs) > File "d:\python24\lib\site-packages\sqlalchemy-0.4.6-py2.4.egg > \sqlalchemy\orm\session.py", line 76 > 0, in query > q = self._query_cls(mapper_or_class, self, **kwargs) > File "d:\python24\lib\site-packages\sqlalchemy-0.4.6-py2.4.egg > \sqlalchemy\orm\query.py", line 68, > in __init__ > self.__init_mapper(_class_to_mapper(class_or_mapper, > entity_name=entity_name)) > File "d:\python24\lib\site-packages\sqlalchemy-0.4.6-py2.4.egg > \sqlalchemy\orm\util.py", line 399, > in _class_to_mapper > return class_or_mapper.compile() > AttributeError: 'InstrumentedAttribute' object has no attribute > 'compile' > > When I query for the entire object, I can get it without any problems: >>>> elixir.session.query(dateTest).all() > 2008-07-16 16:06:12,010 INFO sqlalchemy.engine.base.Engine.0x..10 > SELECT datetest_datetest."UserID" > AS "datetest_datetest_UserID", datetest_datetest."Date1" AS > "datetest_datetest_Date1", datetest_date > test."Date2" AS "datetest_datetest_Date2" > FROM datetest_datetest ORDER BY datetest_datetest.oid > 2008-07-16 16:06:12,010 INFO sqlalchemy.engine.base.Engine.0x..10 [] > [<1 2008-07-16 14:17:22 None>, <2 2008-07-16 14:19:24 2008-07-16 > 14:19:24>, <3 2008-07-16 14:19:27 2 > 008-07-16 14:19:27>, <4 2008-07-16 14:19:29 2008-07-16 14:19:29>, <5 > 2008-07-16 15:03:04 2008-07-16 > 15:03:04>, <6 2008-07-16 15:03:07 2008-07-16 15:03:07>, <7 2008/07/16 > 15:03:09.390 GMT-7 2008/07/16 > 15:03:09.390 GMT-7>, <8 2008/07/16 15:03:11.315 GMT-7 2008/07/16 > 15:03:11.315 GMT-7>, <100 2008-07-1 > 6 00:00:00 2008-07-17 15:07:10>, <101 2008/07/16 16:04:28.346 GMT-7 > 2008/07/16 16:04:28.346 GMT-7>, > <102 2008/07/16 16:04:32.681 GMT-7 2008/07/16 16:04:32.681 GMT-7>] > > Any ideas what could be wrong with a query to get a single column from > the database?
Columns and scalars via .query() is a SQLAlchemy 0.5 feature. 0.4 doesn't support that usage. Cheers, Jason --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---