我正在OpenERP 7中开发一个web服务,它使用POST方法在res_partner表上创建一个新的合作伙伴。我的问题是create()
方法返回新的对象ID,但数据库没有更新。
这是我的代码:
@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)
该方法没有给我任何错误,请求返回带有新ID的200代码。我无法在此创建方法
中找到未更新数据库的原因答案 0 :(得分:2)
我发现了这个问题。我需要在游标对象上提交更改,因此我使用cr.commit()
并成功添加了数据库中的条目。