steve -

thanks for the info.  this should be the last of the compilation  
bugs, fixed in rev 1686 .

- mike

On Jul 5, 2006, at 4:02 PM, Steve Zatz wrote:

>> so let me see what your mapper setup looks like.
>
> mapper(Item, item_table, properties = dict(keywords =
> relation(Keyword, secondary=itemkeyword_table), reminder =
> relation(Reminder, backref='item'),))
> mapper(Section, section_table, properties = {'items': relation(Item,
> backref='section'), 'keywords': relation(Keyword, backref='section')})
> mapper(Keyword, keyword_table, properties = dict(items =
> relation(Item, secondary=itemkeyword_table),))
> mapper(Reminder, reminder_table)
>
> First of all sorry about the wrong error message, as you can see below
> that's the error message that occurs when I try to do reminder.item,
> which also was failing.
>
> I hope the following helps:
>
> The relationship between Reminder and item does not appear to be
> defined until I do the
> following query:
>
>>>> items = session.query(Item).select 
>>>> (Item.c.uuid==Reminder.c.item_uuid)
>
> after doing that things like reminder.item
>
> and
>
> session.query(Reminder).options(eagerload('item'))
>
> work fine.  The details are below:
>
> ---------------------------------------------------------------------- 
> ---------------------------------------------------
>
> C:\home\slzatz\listmanager>python
> Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit  
> (Intel)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> ...
>>>> query = session.query(Reminder).options(eagerload('item'))
> Traceback (most recent call last):
>  File "<stdin>", line 1, in ?
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\query.py", line 244,
> in options
>    return self.mapper.options(*args, **kwargs).using 
> (session=self._session)
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\mapper.py", line
> 717, in options
>    option.process(mapper)
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\properties.py", line
> 644, in process
>    self.process_by_key(mapper, self.key)
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\properties.py", line
> 653, in process_by_key
>    self.create_prop(mapper, tokens[0])
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\properties.py", line
> 726, in create_prop
>    oldprop = mapper.props[key]
> KeyError: 'item'
>>>> reminders = session.query(Reminder).select()
> [2006-07-05 15:44:22,677] [engine]: SELECT reminder.rtime AS
> reminder_rtime, reminder.uuid AS reminder_uuid, reminder.item_uuid AS
> reminder_item_uuid, remind
> iod, reminder.rdate AS reminder_rdate, reminder.dirty AS
> reminder_dirty, reminder.method AS reminder_method
> FROM reminder ORDER BY reminder.oid
> [2006-07-05 15:44:22,687] [engine]: []
>>>> query = session.query(Reminder).options(eagerload('item'))
> Traceback (most recent call last):
>  File "<stdin>", line 1, in ?
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\query.py", line 244,
> in options
>    return self.mapper.options(*args, **kwargs).using 
> (session=self._session)
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\mapper.py", line
> 717, in options
>    option.process(mapper)
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\properties.py", line
> 644, in process
>    self.process_by_key(mapper, self.key)
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\properties.py", line
> 653, in process_by_key
>    self.create_prop(mapper, tokens[0])
>  File "C:\home\slzatz\listmanager\sqlalchemy\orm\properties.py", line
> 726, in create_prop
>    oldprop = mapper.props[key]
> KeyError: 'item'
>>>> reminders[0].item
> Traceback (most recent call last):
>  File "<stdin>", line 1, in ?
> AttributeError: 'Reminder' object has no attribute 'item'
>>>> items = session.query(Item).select 
>>>> (Item.c.uuid==Reminder.c.item_uuid)
> [2006-07-05 15:45:53,311] [engine]: SELECT item.note AS item_note,
> item.name AS item_name, item.timestamp AS item_timestamp,
> item.createdate AS item_createda
> em_section_id, item.duedate AS item_duedate, item.priority AS
> item_priority, item.finisheddate AS item_finisheddate, item.dirty AS
> item_dirty, item.id AS ite
> uid
> FROM item, reminder
> WHERE item.uuid = reminder.item_uuid ORDER BY item.oid
> [2006-07-05 15:45:53,311] [engine]: []
>>>> query = session.query(Reminder).options(eagerload('item'))
>>>> query
> <sqlalchemy.orm.query.Query object at 0x00CCAB30>
>>>> reminders[0].item
> [2006-07-05 15:48:33,720] [engine]: SELECT item.note AS item_note,
> item.name AS item_name, item.timestamp AS item_timestamp,
> item.createdate AS item_createda
> em_section_id, item.duedate AS item_duedate, item.priority AS
> item_priority, item.finisheddate AS item_finisheddate, item.dirty AS
> item_dirty, item.id AS ite
> uid
> FROM item
> WHERE item.uuid = ? ORDER BY item.oid
> [2006-07-05 15:48:33,720] [engine]:  
> [u'7adef8f6f88443b18b8e55b6ac73eba2']
> <sa.Item object at 0x00CD4590>
>>>>


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