2011-02-06 18 views
0

私はSylAlchemyでPylonsを使用しようとしています(Elixir経由)。ここで モデルオブジェクトからのクエリで問題が発生しました

は私TESTDB /モデル/ entities.pyです:

from elixir import * 

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

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

そして、ここでコントローラです:私は、アプリケーションを実行すると

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

が、私はというエラーを取得:

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

誰かが間違っていることを知っていますか?

答えて

1

答えは次のとおりです。

entities.pyは、下部に次の2行が欠落しています。

setup_all() 
create_all() 
0

私はエリクチールはよくわかりませんが、.iniには次のように入れていませんか?

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

?以降のすべての問題は、エンコードの問題を回避することです。 2番目の行は、MySQLが非アクティブな接続を閉じるのを防ぎます(実際1時間ごとに再接続します)。次のように

+0

さてあなたは完全に質問を変更した後、私の答えは、ダムのようなものに見えます... –

関連する問題