我尝试从命令行向数据库添加记录,但没有成功(我的意思是没有记录被添加到数据库,也没有出现错误)。
代码如下:
from myproject.models import DBSession, Model
session = DBSession()
md = Model(name='text')
session.add(md)
在 models.py 中,DBSession() 由脚手架自动定义。我只更改了模型结构。
我做错了什么?
谢谢!
请您参考如下方法:
您的 session 可能附加到事务管理器 DBSession = .. extensions=[ZopeTransactionExtension()]),在使用控制台时该管理器未激活。因此,您必须成为事务管理器并自己完成。
import transaction
transaction.commit()
在代码的末尾。请记住,session.add 只是将对象添加到 session 中,但实际上并没有将命令刷新到数据库或提交它们。
