【问题标题】:TypeError: create() got multiple values for keyword argument 'context'TypeError:create() 为关键字参数“上下文”获取了多个值
【发布时间】:2012-07-14 04:33:38
【问题描述】:

我收到这样的错误:

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

这是代码:

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

有什么问题?

【问题讨论】:

  • 你想在哪个模型中使用创建函数?

标签: postgresql openerp


【解决方案1】:

要创建一条记录,参数是光标、user_id、值字典和上下文。 例如

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

create 不带任何 id,如果您尝试使用 copy,则使用

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

【讨论】:

  • 对不起...我刚刚检查过...是的它可以...但是数据库中不存在“id”,我的意思是 write_uid 不存在.但是如果我这样尝试return self.write(cr, uid, ids, {'so_ids':"Test"}, context=context) write_uid 存在
  • 在 OpenERP 中,create 函数不采用任何参数,如 id 或 id 列表,对于写入、读取和复制功能,采用 id 列表和带有要更新的值的字典作为参数。使用 create 函数创建记录时,数据库中的“create_uid”将是您传递的“uid”,它不会有 write_uid;当您想更新他们使用写入功能的记录时,在数据库中,“write_uid”字段将具有“uid”的值。
  • Hello JC 在以下链接中查看了 ORM 方法:doc.openerp.com/v6.0/developer/2_5_Objects_Fields_Methods/…
【解决方案2】:

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

这是创建方法的语法。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 2016-06-24
    • 2015-05-18
    • 1970-01-01
    • 2013-03-09
    • 2016-04-25
    相关资源
    最近更新 更多