youre looking for a self-referential mapper. there are three
examples of this in the examples/ directory (the "adjacencytree/"
directory has two, and the "backref" directory has one). also the
docs have a quick example of a self-referential mapper in the
advanced mapper section. check out all of this stuff, and if you
still have questions check back here.
On Sep 18, 2006, at 1:15 AM, Mongoose wrote:
> 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.pare
> nt))
>
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users