Openerp 在Odoo中自动填充网格并出错

Openerp 在Odoo中自动填充网格并出错,openerp,odoo,odoo-8,openerp-8,Openerp,Odoo,Odoo 8,Openerp 8,当用户使用One2many关系字段创建新信息时,是否自动填充网格 这是我的自动填充示例 def getCheckListId(self): self.env.cr.execute("select 1 employee_id,1 PARAM1,1 PARAM2,1 PARAM3,1 PARAM3,1 PARAM4 from hr_employee_checklist ") checklistTemplates = self.env.cr.fetchall() return

当用户使用One2many关系字段创建新信息时,是否自动填充网格

这是我的自动填充示例

def getCheckListId(self):
    self.env.cr.execute("select 1 employee_id,1 PARAM1,1 PARAM2,1 PARAM3,1 PARAM3,1 PARAM4 from hr_employee_checklist  ")
    checklistTemplates = self.env.cr.fetchall()
    return checklistTemplates
此函数将用作One2ManyFields中的默认值

employee_checklists = fields.One2many('hr.employee_checklist','employee_id', readonly=False,copy=False, default = getCheckListId)
但我有一个错误 错误是

AttributeError:“str”对象没有属性“iteritems”


有人能帮我解决这个问题吗,或者用其他方法在Odoo中填充网格吗

一个是任何领域;该字段的值是
comodel\u name
中所有记录的
recordset
,因此该字段
inverse\u name
等于当前记录

参数

  • comodel_name——目标模型的名称(字符串)
  • Reverse_name——comodel_name中的Reverse ManyOne字段的名称 (字符串)
  • 域--在客户端上设置候选值的可选域 边(域或字符串)
  • context——在客户端执行以下操作时使用的可选上下文 处理该字段(字典)
  • auto_join——是否在通过该链接进行搜索时生成连接 字段(布尔值,默认为False)
  • limit—读取时使用的可选限制(整数)
所以,One2many字段总是包含comodel的参考值,您只需要给出该关系字段的ID,其余内容将由odoo引擎自己维护

@api.model
def getCheckListId(self):
    return self.env['hr.employee.checklist'].search([]).ids

One2many

一个是任何领域;该字段的值是
comodel\u name
中所有记录的
recordset
,因此该字段
inverse\u name
等于当前记录

参数

  • comodel_name——目标模型的名称(字符串)
  • Reverse_name——comodel_name中的Reverse ManyOne字段的名称 (字符串)
  • 域--在客户端上设置候选值的可选域 边(域或字符串)
  • context——在客户端执行以下操作时使用的可选上下文 处理该字段(字典)
  • auto_join——是否在通过该链接进行搜索时生成连接 字段(布尔值,默认为False)
  • limit—读取时使用的可选限制(整数)
所以,One2many字段总是包含comodel的参考值,您只需要给出该关系字段的ID,其余内容将由odoo引擎自己维护

@api.model
def getCheckListId(self):
    return self.env['hr.employee.checklist'].search([]).ids

为什么不使用api方法?为什么不使用api方法?