In a treelike hierarchical data design, each node will have a parent ID, 
referring to another node, except for the root node(s) which won't have a 
parent.  The trouble I'm having is that a parent ID refers to the primary ID of 
another row in the same table.  I don't know how to properly describe that 
relation in sqlalchemy. Could anyone offer some advice?

Another problem is I'm trying to refer to all the posts with the same parent as 
the kits of that parent post.  I'd like it so the kits were lazy loaded and 
accessible via parentobject.kits as a list. Is that how it's supposed to turn 
out?

This is what isn't working, but best I can figure is how it should be done:
mapper.add_property('parent',relation(nodeclass,backref='kits',primaryjoin=nodeclass.c.id==nodeclass.c.parent))

You'll note my confusion in how is it supposed to tell which nodeclass key is 
the foreign key, the id or the parent? I suppose it could ask the database 
(which knows that the parent is the foreign key) but still, grokking this 
eludes me.  I end up with errors like the following:
  File "/usr/lib/python2.4/site-packages/sqlalchemy/orm/properties.py", line 
302, in _get_direction
    if list(self.foreignkey)[0].primary_key:
IndexError: list index out of range

The above error only happens when I start trying to define the 'kits' relation 
between nodes and ...nodes.  But without defining the relation I am entirely 
unable to do certain essential tasks like for instance:
for childNode in parentNode.kits:
        childNode.DisplayStuff()

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