跳至內容
選單
此問題已被標幟
1 回覆
4888 瀏覽次數

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()


頭像
捨棄
最佳答案

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 = [..]).

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
3
6月 20
3734
1
11月 18
9279
11
2月 17
63525
2
3月 15
10699
4
11月 24
10933