当我从此字段(下面的代码)编辑记录时,由于某种原因它没有保存。它是一个计算字段,链接到 res.partner 记录。如果我编辑它并单击保存,它根本不会保存(数据库中没有更改和/或如果我硬刷新页面)。有人在这里看到我想念的东西吗?如果我无法通过我所期望的方式对其进行编辑,是否还有另一种方法可以做到这一点?我在 child_ids 上做一个计算字段而不是一个域的原因是因为带有域的 child_ids 字段似乎不适用于该域。
模型
contact_ids = fields.One2many(comodel_name='res.partner', compute="_get_contact_ids", readonly=False)
@api.multi
@api.depends('child_ids')
def _get_contact_ids(self):
for company in self:
if company.child_ids:
company.contact_ids = company.child_ids.search([('is_location', '=', False), ('parent_id', '=', company.id), ('type', '=', 'contact')])
看法
<field name="contact_ids" string="Contacts">
<tree create="true" delete="false" edit="true" default_order="create_date">
<field name="name"/>
<field name="phone"/>
<field name="email"/>
</tree>
</field>
更新
根据想法添加了这个,但它没有用。请记住,这是在继承 res.partner 的模型上。
activity_contact_id = fields.Many2one('res.partner', string="Contact")
contact_ids = fields.One2many(
comodel_name='res.partner',
inverse_name='activity_contact_id',
compute="_get_contact_ids",
readonly=False,
stored=True
)