在OpenERP中的Product.Product上获取For循环上的NoneType错误

时间:2015-01-12 14:47:33

标签: python openerp

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

  

来自openerp.osv导入字段,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'对象没有属性' qty_available'

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

1 个答案:

答案 0 :(得分:0)

根据参数的顺序,您的函数定义是错误的。它应该如下:

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

像这样改变它会起作用。