summaryrefslogtreecommitdiff
path: root/examples/adjacencytree/basic_tree.py
diff options
context:
space:
mode:
authorJason Kirtland <jek@discorporate.us>2007-11-14 00:43:49 +0000
committerJason Kirtland <jek@discorporate.us>2007-11-14 00:43:49 +0000
commitf4a9e4512b34d2195e52187143572403571f4db5 (patch)
treee334df00a451163d3962824ce4f91030f91e9409 /examples/adjacencytree/basic_tree.py
parentf4ee7a1bcba5606e320c5d1b348c2d457bacec31 (diff)
downloadsqlalchemy-f4a9e4512b34d2195e52187143572403571f4db5.tar.gz
Removed some distractions.
Diffstat (limited to 'examples/adjacencytree/basic_tree.py')
-rw-r--r--examples/adjacencytree/basic_tree.py39
1 files changed, 18 insertions, 21 deletions
diff --git a/examples/adjacencytree/basic_tree.py b/examples/adjacencytree/basic_tree.py
index 9048ed8dc..65e7d0da8 100644
--- a/examples/adjacencytree/basic_tree.py
+++ b/examples/adjacencytree/basic_tree.py
@@ -1,18 +1,18 @@
-"""a basic Adjacency List model tree."""
+"""A basic Adjacency List model tree."""
-from sqlalchemy import *
-from sqlalchemy.orm import *
-from sqlalchemy.util import OrderedDict
+from sqlalchemy import MetaData, Table, Column, Sequence, ForeignKey
+from sqlalchemy import Integer, String
+from sqlalchemy.orm import create_session, mapper, relation, backref
from sqlalchemy.orm.collections import attribute_mapped_collection
metadata = MetaData('sqlite:///')
metadata.bind.echo = True
trees = Table('treenodes', metadata,
- Column('node_id', Integer, Sequence('treenode_id_seq',optional=False), primary_key=True),
- Column('parent_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
- Column('node_name', String(50), nullable=False),
- )
+ Column('id', Integer, Sequence('treenode_id_seq', optional=True),
+ primary_key=True),
+ Column('parent_id', Integer, ForeignKey('treenodes.id'), nullable=True),
+ Column('name', String(50), nullable=False))
class TreeNode(object):
@@ -32,23 +32,20 @@ class TreeNode(object):
def __str__(self):
return self._getstring(0, False)
def _getstring(self, level, expand = False):
- s = (' ' * level) + "%s (%s,%s, %d)" % (self.name, self.id,self.parent_id,id(self)) + '\n'
+ s = (' ' * level) + "%s (%s,%s, %d)" % (
+ self.name, self.id,self.parent_id,id(self)) + '\n'
if expand:
- s += ''.join([n._getstring(level+1, True) for n in self.children.values()])
+ s += ''.join([n._getstring(level+1, True)
+ for n in self.children.values()])
return s
def print_nodes(self):
return self._getstring(0, True)
-
-mapper(TreeNode, trees, properties=dict(
- id=trees.c.node_id,
- name=trees.c.node_name,
- parent_id=trees.c.parent_node_id,
- children=relation(TreeNode, cascade="all",
- backref=backref("parent", remote_side=[trees.c.node_id]), collection_class=attribute_mapped_collection('name'),
- lazy=False,
- join_depth=3
- ),
-))
+
+mapper(TreeNode, trees, properties={
+ 'children': relation(TreeNode, cascade="all",
+ backref=backref("parent", remote_side=[trees.c.id]),
+ collection_class=attribute_mapped_collection('name'),
+ lazy=False, join_depth=3)})
print "\n\n\n----------------------------"
print "Creating Tree Table:"