我正在为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没有返回正确的类型,但我不确定。导致此错误的原因是什么?
答案 0 :(得分:0)
根据参数的顺序,您的函数定义是错误的。它应该如下:
def real_inventory_count(self, cr, uid, ids, arg, field_name, context=None):
像这样改变它会起作用。