在 OpenERP 中 Product.Product 的 For 循环中出现 NoneType 错误

Getting NoneType Error on For Loop on Product.Product in OpenERP

我正在为 OpenERP 7 (Odoo) 开发一个自定义模块,我正在努力让我的功能达到 运行。我的目标是创建一个名为真实库存计数的字段,它从预先存在的 qty_available 和 outgoing_qty 列中提取并给出差异。这个问题我试过好几次了,最新的代码是:

from openerp.osv import fields, osv

class 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' object has no attribute 'qty_available'

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

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

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

这样改就可以了。