Odoo - 在树视图中的浮动字段旁边添加“%”

Odoo - add "%" next to float field in tree view

如何在以下字段的树视图列中的值旁边添加“%”:

rec.reserved_qty_per = round(rec.sum_reserved_qty / rec.sum_dmd_qty * 100)

当我过去添加 (+ "%") 时,它给我一个不能在 float 和 str 字段之间混合的错误。

这是我的代码:

    sum_dmd_qty = fields.Float(compute='calculate_dmd_qty', string='Total Ordered Quantity', digits=(12,0))
    sum_reserved_qty = fields.Float(compute='calculate_reserved_qty', string='Total Ready Quantity', digits=(12,0))
    reserved_qty_per = fields.Float(compute='_compute_percentage', string='Ready (%)', digits=(12,0))

    @api.depends('sum_reserved_qty', 'sum_dmd_qty')
    def _compute_percentage(self):
        for rec in self:
            if rec.sum_dmd_qty:
                rec.reserved_qty_per = round(rec.sum_reserved_qty / rec.sum_dmd_qty * 100)

最简单的方法是将 reserved_qty_per 更改为 Char 字段。

    reserved_qty_per_chr = fields.Char(compute='_compute_percentage', string='Ready (%)')

    @api.depends('sum_reserved_qty', 'sum_dmd_qty')
    def _compute_percentage(self):
        for rec in self:
            if rec.sum_dmd_qty:
                qty = round(rec.sum_reserved_qty / rec.sum_dmd_qty * 100)
                rec.reserved_qty_per = "{0} {1}".format(qty,"%")