2011-02-06 5 views
0

J'essaie d'utiliser des pylônes avec SqlAlchemy (via Elixir).Problème d'interrogation à partir d'un objet modèle

Voici mon testdb/modèle/entities.py:

from elixir import * 

metadata.bind = "mysql://testdb:[email protected]/testdb" 
metadata.bind.echo = True 

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

Et est le contrôleur ici:

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() 

Quand je lance l'application, je reçois une erreur disant:

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

Est-ce que quelqu'un sait ce que je fais mal?

Répondre

1

La réponse est la suivante:

entities.py manque les deux lignes suivantes au fond:

setup_all() 
create_all() 
0

Je ne connais pas bien Elixir, mais ne met pas assez les éléments suivants dans le fichier .ini?

sqlalchemy.url = mysql://user:[email protected]/dbname?charset=utf8&use_unicode=0 
sqlalchemy.pool_recycle = 3600 

Tout ce qui est après ? est d'éviter les problèmes de codage. La deuxième ligne empêche MySQL de fermer les connexions inactives (en fait, il se reconnecte toutes les heures).

+0

Eh bien, après avoir totalement changé la question ma réponse semble un peu idiot ... –

Questions connexes