2012-07-14 51 views
2

我得到了這樣的錯誤多個值:類型錯誤:創建()得到了關鍵字參數「語境」

TypeError: create() got multiple values ​​for keyword argument 'context'

這是代碼:

mov_id = self.create(cr, uid, ids, {'so_ids':so, 'product_ids':product},context=context) 

什麼問題?

+0

在哪個模型中您嘗試使用create函數? – OmaL 2012-07-14 05:42:01

回答

3

要創建記錄,參數是遊標,user_id,值的字典和上下文。 例如

mov_id = self.create(cr, uid, {'so_ids': so, 'product_ids': product},context=context) 

創建犯規採取任何標識,如果你要使用複製,然後使用

mov_id = self.copy(cr, uid, ids, {'so_ids':so, 'product_ids':product},context=context) 
+0

對不起...我剛剛檢查..是的,它可以...,但在數據庫中不存在「ID」,我的意思是** write_uid **不存在。但如果我嘗試像這樣返回self.write(cr,uid,ids,{'so_ids':「Test」},context = context)** write_uid **存在 – 2012-07-14 07:06:18

+0

在OpenERP中,create函數不需要任何參數如id或id列表,對於寫入,讀取和複製函數,需要使用id和帶有值的字典作爲參數更新。當使用create函數創建記錄時,在數據庫中,'create_uid'將是您傳遞的'uid',它不會有write_uid;當你想要更新記錄時,他們使用寫入函數,那麼在數據庫中,'write_uid'字段將具有'uid'的值。 – OmaL 2012-07-14 20:41:27

+0

Hello JC在以下鏈接中查看ORM方法:http://doc.openerp.com/v6.0/developer/2_5_Objects_Fields_Methods/methods.html – 2012-07-16 04:40:57

1

self.create(cr, uid, {'so_ids':"Test"}, context=context)

這是創建方法的語法。

如果您想添加'write_uid',只需在create方法的字典中添加{'write_uid':ur_id}。 在創建方法中,不需要'id'或'id列表'。