在 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):
这样改就可以了。
我正在为 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):
这样改就可以了。