2016-01-15 30 views
7

我正在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。我找不到爲什麼數據庫沒有在這個創建方法中更新

+0

它返回一個browse_record(res.partner,9840) –

+0

數據庫上的最後一個條目id是9832,每當我嘗試添加一個新的夥伴時,ID都會增加,但沒有條目被添加到數據庫 –

+0

由於我理解,記錄已創建,並且您獲得了新記錄的ID。但表中不存在新記錄。這樣對嗎? –

回答

2

我發現了這個問題。我需要在光標對象上提交更改,因此我使用了cr.commit()併成功將條目添加到數據庫中。

+0

謝謝。祝你好運 ;) –