2016-10-13 12 views
0

いくつかのクエリを実行するためにインポートされたモデルをコマンドプロンプトにドロップします。Web2py - mysql - どのようにDALに?

私は、MySQLデータベースを持って、私は

$ python web2py.py -S appname -M 
..... 
>>> db = DAL('mysql://user:[email protected]/db_name') 

上記のコマンドを上記の課題を達成するために、次のコマンドを実行しています。すべてのエラーをスローしません。 mysqlプロンプトのデータを正常に問い合わせることができるので、ユーザー名とパス名とdb名は正しいです。エラー

$ db(db.category).select() 
AttributeError: 'DAL' object has no attribute 'category' 

の下に私を与え

しかし、今のドキュメントhttp://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#selectに相談した後、私はテーブルの上の選択をしようが、あなたはここに私を助けてくださいことはできますか?どのようにデータにアクセスできますか?私はそれをコントローラにさらに埋め込む必要があるので、DALのやり方をしたいと思っています。

はFYI ..私はエラー

$ db.executesql('select * from category;') 
((1L, 
    u'tmp', 
    u'T', 
    datetime.datetime(2016, 9, 27, 16, 14, 59), 
    None, 
    datetime.datetime(2016, 9, 27, 16, 14, 59), 
    None)) 

答えて

0

dbせずに、正確には、ExecuteSQLを使用することができる午前すでにあなたが-Mオプションを渡されてから実行されている、あなたのモデルで定義されています。もう一度定義する必要はありません!

+0

「もう一度定義する必要はありません」とはどういう意味ですか? - コードを動作させるためには、彼は何をする必要がありますか? –

+0

'db = DAL( 'mysql:// user:password @ localhost/db_name')'を作成することで、モデルで定義された前の 'db'オブジェクトを置き換えます。だから彼はその行を削除するだけです。 – cdonts

関連する問題