summaryrefslogtreecommitdiff
path: root/examples/adjacencytree/byroot_tree.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-10-03 23:38:48 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-10-03 23:38:48 +0000
commit6f1eb443a358f41f2dd38bac065b98fad54a67ce (patch)
tree0fff3ed11eadf632d59555a4f4180599275d8fa8 /examples/adjacencytree/byroot_tree.py
parentbbd7c660560212844de3a92ba077bcec77740b16 (diff)
downloadsqlalchemy-6f1eb443a358f41f2dd38bac065b98fad54a67ce.tar.gz
- "custom list classes" is now implemented via the "collection_class"
keyword argument to relation(). the old way still works but is deprecated [ticket:212]
Diffstat (limited to 'examples/adjacencytree/byroot_tree.py')
-rw-r--r--examples/adjacencytree/byroot_tree.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/examples/adjacencytree/byroot_tree.py b/examples/adjacencytree/byroot_tree.py
index 48793b936..6d86e587d 100644
--- a/examples/adjacencytree/byroot_tree.py
+++ b/examples/adjacencytree/byroot_tree.py
@@ -46,7 +46,6 @@ class TreeNode(object):
identifiable root. Any node can return its root node and therefore the "tree" that it
belongs to, and entire trees can be selected from the database in one query, by
identifying their common root ID."""
- children = NodeList
def __init__(self, name):
"""for data integrity, a TreeNode requires its name to be passed as a parameter
@@ -118,6 +117,9 @@ print "\n\n\n----------------------------"
print "Creating Tree Table:"
print "----------------------------"
+import logging
+logging.getLogger('sqlalchemy.orm').setLevel(logging.DEBUG)
+
metadata.create_all()
# the mapper is created with properties that specify "lazy=None" - this is because we are going
@@ -128,10 +130,11 @@ mapper(TreeNode, trees, properties=dict(
parent_id=trees.c.parent_node_id,
root_id=trees.c.root_node_id,
root=relation(TreeNode, primaryjoin=trees.c.root_node_id==trees.c.node_id, foreignkey=trees.c.node_id, lazy=None, uselist=False),
- children=relation(TreeNode, primaryjoin=trees.c.parent_node_id==trees.c.node_id, lazy=None, uselist=True, cascade="delete,save-update"),
+ children=relation(TreeNode, primaryjoin=trees.c.parent_node_id==trees.c.node_id, lazy=None, uselist=True, cascade="delete,save-update", collection_class=NodeList),
data=relation(mapper(TreeData, treedata, properties=dict(id=treedata.c.data_id)), cascade="delete,delete-orphan,save-update", lazy=False)
-), extension = TreeLoader())
+), extension = TreeLoader()).compile()
+
session = create_session()