2011-12-29 5 views
1

私はコマンドラインからデータベースにレコードを追加しようとしましたが、動作しませんでした。つまり、dbにレコードが追加されておらず、エラーも発生していませんでした。ここピラミッド:データベースにレコードを追加する方法は?

コードである:models.py DBSessionで

from myproject.models import DBSession, Model 

session = DBSession() 
md = Model(name='text') 
session.add(md) 

()足場によって自動的に定義されました。モデル構造だけを変更しました。私が間違っていた何

ありがとうございます!

答えて

7

セッションがトランザクションマネージャーDBSession = .. extensions=[ZopeTransactionExtension()])に接続されている可能性があります。これはコンソールを使用しているときはアクティブではありません。したがって、あなたはトランザクションマネージャーでなければなりません。

import transaction 
transaction.commit() 

コードの最後にsession.addは単にオブジェクトをセッションに追加するだけですが、実際にはコマンドをデータベースにフラッシュしたりコミットしたりしません。

関連する問題