Openerp create()方法返回新的记录集标识但不更新数据库
问题描述:
我正在OpenERP 7中开发一个web服务,它使用POST方法在res_partner表上创建一个新的合作伙伴。我的问题是create()
方法返回给我新的对象ID,但数据库不更新。Openerp create()方法返回新的记录集标识但不更新数据库
这里是我的代码:
@openerpweb.httprequest
def add_partner(self, req, db, user, password, name, type, street, city, zip, phone, email, function):
uid = req.session.authenticate(db, user, password)
osv_pool = pooler.get_pool(db)
cr = pooler.get_db(db).cursor()
partner_pool = osv_pool.get('res.partner')
partner_dict = {
'name': name,
'type': type,
'street': street,
'city': city,
'zip': zip,
'phone': phone,
'email': email,
'function': function
}
result = partner_pool.create(cr, uid, partner_dict)
cr.close()
return str(result)
该方法不给我任何错误,并请求返回一个200码,用新的ID。我找不到为什么数据库没有在这个创建方法中更新
答
我发现了这个问题。我需要在光标对象上提交更改,因此我使用了cr.commit()
并成功将条目添加到数据库中。
+0
谢谢。祝你好运 ;) –
它返回一个browse_record(res.partner,9840) –
数据库上的最后一个条目id是9832,每当我尝试添加一个新的伙伴时,ID都会增加,但没有条目被添加到数据库 –
由于我理解,记录已创建,并且您获得了新记录的ID。但表中不存在新记录。这样对吗? –