我想计算一个包含多件商品的商品的运费。该包装盒具有固定的运费,每件商品的费用是通过将运费除以商品数量计算得出的。
在用户界面中,我希望在添加或移除商品(添加或删除一行)时更新每行显示的费用。
我希望在保存表单之前添加新行时更新该行的成本字段。但是,该值未更新,onchange
调用返回一个空值(这是我在fiddler中看到的)。
{"jsonrpc": "2.0", "id": 844836927, "result": {"value": {}}}
此代码段是包含相关代码的较大类的一部分:
class Shipping(models.Model):
_name = 'shipping.shipping'
shipping_cost = fields.Float(string='Shipping cost')
shipping_line_ids = fields.One2many('shipping.line', 'shipping_id', string='Shipping items')
@api.onchange('shipping_line_ids')
def onchange_shipping_line_ids(self):
number_of_items = len(self.shipping_line_ids)
if number_of_items == 0:
return
line_cost = self.shipping_cost / number_of_items
for line in self.shipping_line_ids:
line.cost = line_cost
class ShippingLine(models.Model):
_name = 'shipping.line'
shipping_id = fields.Many2one('shipping.shipping', string='Shipping')
cost = fields.Float(string='Cost')
我在这里做错了什么?