此相关字段在odoo 9
中工作正常,但在odoo 10
中工作不正常。使用nomor\u hp\u id
创建新记录时,customer\u id
字段未更新。
nomor_hp_id = fields.Many2one(
string='Nomor hp',
comodel_name='nomor.hp',
ondelete='cascade',
)
customer_id = fields.Many2one(
string='Customer',
related='nomor_hp_id.customer_id',
ondelete='cascade',
store=True,
readonly=True,
)
尝试启动新数据库,但结果仍未更新。
您必须在manyOne
字段中指定comodel名称,要么它是正常的manyOne
,要么它是相关的manyOne
。请看下面的代码。你会得到答案的。
nomor_hp_id = fields.Many2one(string='Nomor hp', comodel_name='nomor.hp',ondelete='cascade',)
customer_id = fields.Many2one(string='Customer', comodel_name='res.partner', related='nomor_hp_id.customer_id', ondelete='cascade',readonly=True,)
您必须定义哪个表的引用。此处customer\u id
是“res\u partner
”表或“res.partner
”模型的参考字段。
这种方法对我很管用。
customer_id = fields.Many2one(
string='Customer',
related='nomor_hp_id.customer_id',
store=True,
)