[Checkins] SVN: grokapps/rdbexample/trunk/src/rdbexample/app.py Fix
having to instantiate a model for mappers
Jasper Spaans
jspaans at thehealthagency.com
Sat May 3 16:14:55 EDT 2008
Log message for revision 86287:
Fix having to instantiate a model for mappers
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-03 20:14:09 UTC (rev 86286)
+++ grokapps/rdbexample/trunk/src/rdbexample/app.py 2008-05-03 20:14:55 UTC (rev 86287)
@@ -3,6 +3,8 @@
from zope.interface.interfaces import IInterface
+
+
from sqlalchemy.schema import Column, ForeignKey
from sqlalchemy.types import Integer, String
from sqlalchemy.orm import relation
@@ -34,7 +36,7 @@
class Departments(rdb.Container):
- rdb.key('title')
+ rdb.key('id')
class Faculty(rdb.Model):
# rdb.table_name('faculty') is the default
@@ -56,13 +58,25 @@
faculty_id = Column('faculty_id', Integer, ForeignKey('faculty.id'))
title = Column('title', String(50))
+class AddDepartment(grok.AddForm):
+ grok.context(Departments)
+ @property
+ def form_fields(self):
+ return rdb.Fields(Department)
+
+ @grok.action('add')
+ def handle_add(self, *args, **kw):
+ d = Department(**kw)
+ self.context.set(d)
+
+
class DepartmentView(grok.View):
grok.name('index')
grok.context(Department)
def render(self):
- return "Department: %i - %s" % (self.context.id, self.context.title)
+ return "Department: %r - %r" % (self.context.id, self.context.title)
class DepartmentList(grok.View):
grok.name('index')
@@ -89,8 +103,10 @@
@property
def form_fields(self):
- return rdb.Fields(Faculty())
+ return rdb.Fields(Faculty)
@grok.action('add')
def handle_add(self, *args, **kw):
- print kw
+ f = Faculty(**kw)
+ rdb.session().save(f)
+ #import pdb; pdb.set_trace()
More information about the Checkins
mailing list