I am getting this error while using dojo for move demo

TypeError: Sorry, your collection type is not supported by the paginate
module. You can provide a list, a tuple, a SQLAlchemy " "select object or a
SQLAlchemy ORM-query object.


=========Here is the model=====

# -*- coding: utf-8 -*-
"""Sample model module."""

from sqlalchemy import *
from sqlalchemy.orm import mapper, relation
from sqlalchemy import Table, ForeignKey, Column
from sqlalchemy.types import Integer, Unicode
#from sqlalchemy.orm import relation, backref
from moviedemo.model import DeclarativeBase, metadata, DBSession
from sqlalchemy.orm import relation

from moviedemo.model import DeclarativeBase, metadata

class Movie(DeclarativeBase):
    __tablename__ = "movies"
    movie_id = Column(Integer, primary_key=True)
    #title = Column(String(100), nullable=False)
    description = Column(Text, nullable=True)
    #release_date = Column(Date, nullable=True)

=== HEre is thecontroller ====

# -*- coding: utf-8 -*-
"""Main Controller"""

from formencode.validators import Int, NotEmpty, DateConverter,
DateValidator
from moviedemo import model
from moviedemo.controllers.error import ErrorController
from moviedemo.controllers.secure import SecureController
from moviedemo.lib.base import BaseController
from moviedemo.model import DBSession, Movie
from moviedemo.model import DBSession, metadata
from repoze.what import predicates

from sprox.dojo.fillerbase import DojoTableFiller as TableFiller
#from sprox.fillerbase import TableFiller

from sprox.dojo.tablebase import DojoTableBase as TableBase
#from sprox.tablebase import TableBase

#from sprox.fillerbase import EditFormFiller

from sprox.dojo.formbase import DojoAddRecordForm as AddRecordForm
#from sprox.formbase import AddRecordForm

from sprox.dojo.formbase import DojoEditableForm as EditableForm
#from sprox.formbase import EditableForm

from tg import expose, flash, require, url, request, redirect, validate
from tg import tmpl_context, request
from tg.i18n import ugettext as _, lazy_ugettext as l_
from tgext.admin.controller import AdminController
from tgext.admin.tgadminconfig import TGAdminConfig
from tgext.crud import CrudRestController
from tw.core import WidgetsList
from tw.forms import TableForm, TextField, CalendarDatePicker,
SingleSelectField, TextArea
__all__ = ['RootController']

class DeclarativeMovieController(CrudRestController):
    model = Movie

#    class new_form_type(AddRecordForm):
#        __model__ = Movie
#        __omit_fields__ = ['genre_id', 'movie_id']
#
#    class edit_form_type(EditableForm):
#        __model__ = Movie
#        __omit_fields__ = ['genre_id', 'movie_id']
#
#    class edit_filler_type(EditFormFiller):
#        __model__ = Movie

    class table_type(TableBase):
        __model__ = Movie
        __omit_fields__ = ['genre_id', 'movie_id']

    class table_filler_type(TableFiller):
        __model__ = Movie

class RootController(BaseController):
    """
    The root controller for the moviedemo application.

    All the other controllers and WSGI applications should be mounted on
this
    controller. For example::

        panel = ControlPanelController()
        another_app = AnotherWSGIApplication()

    Keep in mind that WSGI applications shouldn't be mounted directly: They
    must be wrapped around with :class:`tg.controllers.WSGIAppController`.

    """
    secc = SecureController()
    admin = AdminController(model, DBSession, config_type=TGAdminConfig)

    error = ErrorController()
    movie = DeclarativeMovieController(DBSession)

    @expose('moviedemo.templates.index')
    def index(self):
        """Handle the front-page."""
        return dict(page='index')

    @expose('moviedemo.templates.about')
    def about(self):
        """Handle the 'about' page."""
        return dict(page='about')

    @expose('moviedemo.templates.environ')
    def environ(self):
        """This method showcases TG's access to the wsgi environment."""
        return dict(environment=request.environ)

    @expose('moviedemo.templates.data')
    @expose('json')
    def data(self, **kw):
        """This method showcases how you can use the same controller for a
data page and a display page"""
        return dict(params=kw)
    @expose('moviedemo.templates.authentication')
    def auth(self):
        """Display some information about auth* on this application."""
        return dict(page='auth')

    @expose('moviedemo.templates.index')
    @require(predicates.has_permission('manage', msg=l_('Only for
managers')))
    def manage_permission_only(self, **kw):
        """Illustrate how a page for managers only works."""
        return dict(page='managers stuff')

    @expose('moviedemo.templates.index')
    @require(predicates.is_user('editor', msg=l_('Only for the editor')))
    def editor_user_only(self, **kw):
        """Illustrate how a page exclusive for the editor works."""
        return dict(page='editor stuff')

    @expose('moviedemo.templates.login')
    def login(self, came_from=url('/')):
        """Start the user login."""
        login_counter = request.environ['repoze.who.logins']
        if login_counter > 0:
            flash(_('Wrong credentials'), 'warning')
        return dict(page='login', login_counter=str(login_counter),
                    came_from=came_from)

    @expose()
    def post_login(self, came_from='/'):
        """
        Redirect the user to the initially requested page on successful
        authentication or redirect her back to the login page if login
failed.

        """
        if not request.identity:
            login_counter = request.environ['repoze.who.logins'] + 1
            redirect('/login',
                params=dict(came_from=came_from, __logins=login_counter))
        userid = request.identity['repoze.who.userid']
        flash(_('Welcome back, %s!') % userid)
        redirect(came_from)

    @expose()
    def post_logout(self, came_from=url('/')):
        """
        Redirect the user to the initially requested page on logout and say
        goodbye as well.

        """
        flash(_('We hope to see you soon!'))
        redirect(came_from)


====
Thanks and Regards,

|== Alind Sharma ==|

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to