[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