* 模块中增加序列
__openerp__.py : ... 'data': [ 'product_data.xml', ], ... ------ product_data.xml: <?xml version="1.0" encoding="utf-8"?> <openerp> <data noupdate="1"><record id="sequence_type" model="ir.sequence.type">
<field name="name">Sequence</field> <field name="code">product.internal.code</field> </record><record id="sequence" model="ir.sequence">
<field name="name">product</field> <field name="code">product.internal.code</field> <field name="padding">4</field> </record></data>
</openerp> # model="ir.sequence.type" 序列类型 设置->技术->序列与标识符->序列编码 找到 # name 类型名称 # code 类型编码 唯一不重名 # model="ir.sequence" 序列 设置->技术->序列与标识符->序列 找到 # name 序列名称 # code 序列用到的编码 # padding 多少位数字 ----- product.py : @api.model def create(self, vals): if ( not vals.get('internal_code', False) and not self._context.get('default_internal_code', False)): vals['internal_code'] = self.env[ 'ir.sequence'].get('product.internal.code') or '/' return super(product, self).create(vals) # 上面做了这么多就是为 self.env['ir.sequence'].get('product.internal.code') 这句做基础_sql_constraints = {
('internal_code_uniq', 'unique(internal_code)', 'Internal Code mast be unique!') }