我对一个2个字段使用default_get方法,我可以看到列表中的字段,但是当我想通过show空白字典中的super方法在字典中传递这些字段时。那么,如何获得呢?
我的python代码在这里:
@api.model
def default_get(self, fields):
print("FIELDS", fields)
rec = super(CrmContactLine, self).default_get(fields)
print("REC", rec)
context = dict(self._context or {})
partner = self.env['res.partner'].browse(context['partner_id'])
fields['partner_m2m'] = partner.child_ids
return rec
获得的关于“字段”显示列表值的结果,但“ REC”字典为空
FIELDS ['名称','电子邮件','名称','linkedln_profile','标识符','approached_status','approach_date','email_status','follow_up_date','partner_m2m']
REC {}
谢谢。
答案 0 :(得分:0)
如果对方法default_get
的超级调用返回空dict,那是因为将没有为该模型定义默认值,这是有效的结果。您需要先输入自己的值,然后再返回结果dict rec,而不是在字段列表中。这应该对您有用
@api.model
def default_get(self, fields):
rec = super(CrmContactLine, self).default_get(fields)
context = dict(self._context or {})
partner = self.env['res.partner'].browse(context['partner_id'])
rec['partner_m2m'] = partner.child_ids
return rec
答案 1 :(得分:0)
我已经解决了这个问题。
@api.model
def default_get(self, fields):
rec = super(CrmContactLine, self).default_get(fields)
context = dict(self._context or {})
partner = self.env['res.partner'].browse(context['partner_id'])
rec['partner_m2m'] = [(6, 0, partner.child_ids.ids)] # if your field type is many2many
return rec