覆盖复制方法以增加序列号
override copy method to increment sequence number
我正在尝试覆盖创建和复制方法,以便每当我执行任何这些方法时,我的序列号都会自动递增,这是创建方法:
def create(self, cr, uid, vals, context=None):
if context is None:
context = {}
data_obj = self.pool.get('ir.model.data')
sequence_ids = data_obj.search(cr, uid, [('name','=','seq_tour_booking')], context=context)
sequence_id = data_obj.browse(cr, uid, sequence_ids[0], context=context).res_id
if vals.get('name','/') =='/':
code = self.pool.get('ir.sequence').get_id(cr, uid, sequence_id, 'id', context) or '/'
vals['name'] = code
return super(tour_booking, self).create(cr, uid, vals, context=context)
对复制方法有什么想法吗?
谢谢。
也许我错了,但你不应该也需要覆盖 copy 因为它调用 create: 因此覆盖它应该够了。
我试过了,它成功了:
def copy(self, cr, uid, id, default=None, context=None):
if default == None:
default = {}
default['name'] = self.pool.get('ir.sequence').get(cr, uid,'your.object.name')
return super(your_class_name, self).copy(cr, uid, id, default, context=context)
我正在尝试覆盖创建和复制方法,以便每当我执行任何这些方法时,我的序列号都会自动递增,这是创建方法:
def create(self, cr, uid, vals, context=None):
if context is None:
context = {}
data_obj = self.pool.get('ir.model.data')
sequence_ids = data_obj.search(cr, uid, [('name','=','seq_tour_booking')], context=context)
sequence_id = data_obj.browse(cr, uid, sequence_ids[0], context=context).res_id
if vals.get('name','/') =='/':
code = self.pool.get('ir.sequence').get_id(cr, uid, sequence_id, 'id', context) or '/'
vals['name'] = code
return super(tour_booking, self).create(cr, uid, vals, context=context)
对复制方法有什么想法吗? 谢谢。
也许我错了,但你不应该也需要覆盖 copy 因为它调用 create: 因此覆盖它应该够了。
我试过了,它成功了:
def copy(self, cr, uid, id, default=None, context=None):
if default == None:
default = {}
default['name'] = self.pool.get('ir.sequence').get(cr, uid,'your.object.name')
return super(your_class_name, self).copy(cr, uid, id, default, context=context)