pythonmysqlsqlalchemypylonspython-elixir

Problem querying from a model object


I'm trying to use Pylons with SqlAlchemy (through Elixir).

Here is my testdb/model/entities.py:

from elixir import *

metadata.bind = "mysql://testdb:hundertwasser@localhost/testdb"
metadata.bind.echo = True

class Post(Entity):
    text = Field(Unicode(128))

And here is the controller:

import logging

from pylons import request, response, session, tmpl_context as c, url
from pylons.controllers.util import abort, redirect

from testdb.lib.base import BaseController, render

log = logging.getLogger(__name__)

from testdb.model.entities import *

class MainController(BaseController):

    def index(self):
        c.posts = Post.query.all()
        print "Test"
        return render('/index.mako')

    def submit(self):
        post = Post()
        post.text = request.POST.get['text']
        session.commit()

When I run the application, I get an error saying:

AttributeError: type object 'Post' has no attribute 'query'

Does someone know what I'm doing wrong?


Solution

  • The answer is as follows:

    entities.py is missing the following two lines at the bottom:

    setup_all()
    create_all()