Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

related 字段会影响原字段的值吗?



  • 发现一个这样的问题,如下:
    第一段代码,有三个字段表示相关数量的记录。
    第二段代码在导入数据的时候生成对象的。

    问题:如果demand是0的话,打印的时候数据正确,val的数据也对,但是在视图上显示的时候,demand的值就成qty的值了,什么原因?

    猜测:跟我的purchase_qtyrelated字段有关系吗,但是如果我去掉purchase_qty = demand if demand else qty这个三目运算,然后val中写{"purchase_qty": demand}就都没有问题了,还是没有找到问题所在。

    qty = fields.Float('Qty', default=0, digits=(10, 2))
    demand = fields.Float('Demand', default=0, track_visibility='onchange', digits=(10, 2))
    purchase_qty = fields.Float('Purchase Qty', default=0, digits=(10, 2),related="demand", store=True)
    
    purchase_qty = demand if demand else qty
    print('demand==', demand, type(demand))
    print('purchase_qty==', purchase_qty)
    val = {                            
           "qty": qty,
           "purchase_qty": purchase_qty,
           "demand": demand,
    }
    


  • related应该没有关系,related不会改变原字段的值,可能是因为store=True的原因,如果数据库里有值应该会直接取值,而不会做计算



  • @56410725
    应该不是,出现这个问题的时候,我没有写store=True,后来加上的,还是有这个问题。



  • 会相互影响的,改变后面的值会影响前面模型的值



  • @jacksonleezy 有没有什么办法可以让他们互不干扰的