gpt4 book ai didi

python - 为什么 api.depends 不能在非编辑模式下使用 message_follower_ids 字段?如何修复它?

转载 作者:行者123 更新时间:2023-11-30 22:19:13 25 4
gpt4 key购买 nike

当文档中有关注者并且他们不是 Odoo 用户时,我想显示一条消息。因此,我创建了两个计算字段,一个用于消息,另一个用于检查是否应显示消息。

class SaleOrder(models.Model):
_inherit = 'sale.order'

@api.multi
@api.depends('message_follower_ids')
def _compute_show_warning_msg(self):
partner_ids = self.env['res.users'].search([])\
.mapped('partner_id').mapped('id')
for record in self:
msg = _("""\nDocument contains no user followers.\n""")
for follower in record.message_follower_ids:
if follower.partner_id.id not in partner_ids:
record.show_warning_msg = True
record.warning_msg = msg

show_warning_msg = fields.Boolean(
compute='_compute_show_warning_msg',
string='Show warning message',
)

warning_msg = fields.Text(
compute='_compute_show_warning_msg',
string='Warning message',
)

但是当表单未处于编辑模式并且我添加或删除关注者时,不会触发计算方法。所以我必须按下“编辑”按钮和“保存”来触发该方法。

我尝试在follower表的create和unlink方法上执行compute方法,但是表单 View 没有刷新

有没有办法触发计算字段并刷新表单以显示消息?

有任何解决方法或修复吗?

最佳答案

一个可能的解决方案,我将此代码添加到表单 View 中:

<field name="message_follower_ids" position="attributes">
<attribute name="class">oe_edit_only</attribute>
</field>

关于python - 为什么 api.depends 不能在非编辑模式下使用 message_follower_ids 字段?如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49180408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com