This question has been flagged
1 Reply
4190 Views

Hello I need to have an automatic sequence on the field "ref" when a partner is created. The module base_partner_sequence works well. But then when I import partners after installation of base_parter_sequence I am not able to import a csv-file with a value for "ref" because the value is always set automatically based on the sequence. Does someone has an idea how to import records with a value in csv when there is a sequence on a field? Maybe it is necessary to modify the code somewhere? Please see my code below.

Can yomeone help? René


class partner_sequence(osv.osv): _inherit = 'res.partner' _columns = { 'ref': fields.char('Code', size=64, readonly=False), }

def create(self, cr, uid, vals, context={}):
    vals['ref'] = self.pool.get('ir.sequence').get(cr, uid, 'res.partner')
    res = super(partner_sequence, self).create(cr, uid, vals, context)
    return res

_sql_constraints = [
('ref_unique', 'unique(ref)', 'reference per customer must be unique!'),
]

partner_sequence()


Avatar
Discard
Best Answer

You can try the following:

def create(self, cr, uid, vals, context={}):
    if not vals.get('ref', False):
        vals['ref'] = self.pool.get('ir.sequence').get(cr, uid, 'res.partner')
    res = super(partner_sequence, self).create(cr, uid, vals, context)
    return res

But normally in OpenERP sequences are assigned using defaults (_defaults = [..]).

Avatar
Discard