TypeError:类型'int'的参数不可迭代 openerp
当我想执行我的 dopy_data,获取对象的值并增加它,然后复制这个对象时,我遇到了这个错误:TypeError: argument of type 'int' is not iterable(类型错误:'int'类型的参数不可迭代)。
class immo_assurance(osv.osv):
_name = "immo.assurance"
_description = "Assurance"
def copy_data(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
res = 1
idea = self.browse(cr, uid, id)
res += int(idea.nContrat)
#res = default.get('nContrat')
default['nContrat'] = res
return super(immo_assurance, self).copy_data(
cr, uid, id, default=res, context=context)
_columns = {
'name':fields.char('Code',size=10,required=True),
'nContrat':fields.integer('Ndu contrat',size=60,required=True),
'dDebut':fields.date('Début'),
'dFin':fields.date('Fin'),
'id_societe' : fields.many2one('immo.societe' ,'Société',required=True),
'cAnnuel':fields.float('Cout annuel',size=60),
'commentaire':fields.char('Commentaires',size=10),
'articles':fields.one2many('immo.article','assurance','Liste Articles', readonly=True),
}
immo_assurance()
`
1 个回答
0
默认值是一个字典,你不能这样返回:
super(immo_assurance, self).copy_data(cr, uid, id, **default=res**, context=context)`
default=res* 这样写是不对的
但是
def copy_data(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
res = 1
idea = self.browse(cr, uid, id)
res += int(idea.nContrat)
default['nContrat'] = res
return super(immo_assurance, self).copy_data(
cr, uid, id, default, context)