Odoo v9 - onchange没有看到更改字段的值

问题描述:

我已将一个字段添加到名为uom_class的product.template。当它发生变化时,我需要根据其值来更改其他字段。不幸的是,Odoo把它当作空的对待,并且总是返回False。我不知道为什么。这里是我的代码Odoo v9 - onchange没有看到更改字段的值

class product_uom_class(models.Model): 
    _inherits = {'product.uom.categ':'catid'} 
    _name = 'productuom.class' 
    catid = fields.Many2one('product.uom.categ', ondelete='cascade', required=True) 
    test = fields.Boolean('isbool',default=True) 
    # [...] 

class ProductTemplate(models.Model): 
    _inherit = 'product.template' 
    uom_class = fields.Many2one(
     'productuom.class', 'Per Product UOM Conversion Class', 
     required=False, help="Unit of Measure class for Per Product UOM") 


@api.onchange('uom_class') 
def onchange_uom_class(self): 
    print self.list_price 
    print self.uom_id.name 
    print self.uom_class 
    print self.uom_class.test 
    print self.uom_class.catid.name 

从Python命令行的结果是

24.0 
Dozen(s) 
productuom.class() 
False 
False 

我改变了它不是空的选择,并且它所有的数据显示在列表罚款视图。这是一个错误,还是我做错了什么?

尝试用: print self.uom_class['test']

+0

嗨,这有同样的结果... – Nross2781

好吧,我发现这个问题。这实际上是一个问题的意见...

我不小心复制和粘贴在另一个选项卡上的修改uom_class的声明。所以我的变量被列出了两次。 Odoo发现它正在改变,但我想它没有很好地处理它有两个完全相同的领域。

一个非常愚蠢的错误。很抱歉,任何浪费他们时间的人。