【问题标题】:Getting NoneType Error on For Loop on Product.Product in OpenERP在 OpenERP 中 Product.Product 的 For 循环中出现 NoneType 错误
【发布时间】:2015-01-12 14:47:33
【问题描述】:

我正在为 OpenERP 7 (Odoo) 开发一个自定义模块,我正在努力让我的功能运行。我的目标是创建一个名为 real inventory count 的字段,该字段从预先存在的 qty_available 和 outgoing_qty 列中提取并给我差异。这个问题我尝试了很多次,这段代码是最新的:

从 openerp.osv 导入字段,osv

类 real_inventory_counter(osv.osv): _inherit = "product.product"

def real_inventory_count(self, cr, uid, arg, ids, field_name, context=None):
    result = []
    for item in self.browse(cr, uid, ids, context=context):
        result[item.id] = item.qty_available - item.outgoing_qty
    return result

_columns = {
  'real_inventory_count': fields.function(real_inventory_count, type='float', string='Real Inventory Count'),
}

无论我做什么,我似乎都会收到以下错误:

AttributeError: 'NoneType' 对象没有属性 'qty_available'

我相信我想要在调用此方法时返回一个值数组。似乎 self.browse 没有返回正确的类型,但我不确定。是什么导致了这个错误?

【问题讨论】:

    标签: python openerp


    【解决方案1】:

    您的函数定义在参数顺序方面是错误的。应该是这样的:

    def real_inventory_count(self, cr, uid, ids, arg, field_name, context=None):
    

    像这样改变它,它会起作用。

    【讨论】:

    • 这是正确的解决方案。我从其他人编写的另一个模块中复制了参数,显然它们是错误的。
    猜你喜欢
    • 2021-08-10
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    相关资源
    最近更新 更多