2011-12-29 77 views
1

我試圖從命令行添加記錄到數據庫,但它沒有工作(我的意思是沒有記錄被添加到數據庫,並沒有提出錯誤)。金字塔:如何添加記錄到數據庫?

這裏是代碼:

from myproject.models import DBSession, Model 

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

models.py DBSession()由支架自動定義。我只更改了模型結構。

我做錯了什麼?

謝謝!

回答

7

可能您的會話已附加到事務管理器DBSession = .. extensions=[ZopeTransactionExtension()]),該事務管理器在使用控制檯時無效。因此你必須成爲交易管理者並自己動手。

import transaction 
transaction.commit() 

在代碼的末尾。請記住,session.add只是將對象添加到會話中,但實際上不會將命令刷新到數據庫或提交它們。