[Checkins] SVN: grokapps/rdbexample/trunk/src/rdbexample/app.py Extended the science fiction.

Martijn Faassen faassen at infrae.com
Thu May 1 13:48:18 EDT 2008


Log message for revision 86020:
  Extended the science fiction.
  

Changed:
  U   grokapps/rdbexample/trunk/src/rdbexample/app.py

-=-
Modified: grokapps/rdbexample/trunk/src/rdbexample/app.py
===================================================================
--- grokapps/rdbexample/trunk/src/rdbexample/app.py	2008-05-01 17:46:30 UTC (rev 86019)
+++ grokapps/rdbexample/trunk/src/rdbexample/app.py	2008-05-01 17:48:17 UTC (rev 86020)
@@ -1,21 +1,44 @@
 import grok
 from megrok import rdb
+from sqlalchemy.orm import *  # XXX
 
-class rdbexample(grok.Application, grok.Model):
+
+class RDBExample(grok.Application, grok.Model):
     def __init__(self):
         pass
 
     def traverse(self, name):
-        if name == 'departments':
-            self.departments = Departments()
-            
+        return rdb.query(Faculty).get(name)
 
+    
 class Index(grok.View):
-    pass # see app_templates/index.pt
+    pass
 
 
+class Faculty(rdb.Model):
+    # rdb.table_name('faculty') is the default
+
+    id = Column('id', Integer, primary_key=True)
+    title = Column('email', String(50))
+
+    departments = relation('Department',
+                           backref='faculty',
+                           collection_class=Departments)
+
+    def traverse(self, name):
+        return self.departments.get(name)
+    
+    
 class Departments(rdb.Container):
     pass
 
 class Department(rdb.Model):
-    pass
+    faculty_id = Column('faculty_id', Integer, ForeignKey(Faculty.id))
+    
+class DepartmentList(grok.View):
+    grok.context(Faculty)
+    def render(self):
+        result = ""
+        for department in self.context.departments.values():
+            result += department.title + '\n'
+        return result



More information about the Checkins mailing list