Python代码:
class cashadvance(models.Model): _name = 'comben.cashadvance' sequence_id = fields.Char(string="序列号") @api.model def create(self, vals): vals['sequence_id'] = self.env['ir.sequence'].get('comben.cashadvance') return super(cashadvance, self).create(vals)
然后新建一个sequence.xml,将这个xml放入到manifest.py data中。 sequence.xml的内容:
<odoo> <data> <record id="seq_hr_code_inh2" model="ir.sequence"> <field name="name">Employee ID </field> <field name="code">comben.cashadvance</field> <field name="prefix">A%(year)s%(month)s%(day)s%(h24)s%(min)s%(sec)s</field> <!--<field name="prefix">A%(year)s%(month)s%(day)s%(h12)s%(min)s%(sec)s</field>--> <field name="padding">5</field> <field name="suffix">suffix</field> </record> </data> </odoo>
%(year)s表示年,month是月,h24表示24小时显示格式,sec是秒
padding 5表示序列号是几位宽度的,5表示从00001到99999
以上会显示:A2017122423323100010suffix
A 2017 12 24 23 32 31 00010 suffix
视图添加这个字段的时候,和其余的意义即可,例如tree和form视图:
<record id="view_tree_increment_test" model="ir.ui.view"> <field name="name">自增长测试</field> <field name="model">comben.cashadvance</field> <field name="arch" type="xml"> <tree class="left-align"> <field name="sequence_id"></field> </tree> </field> </record> <!-- form视图 --> <record id="view_form_increment_test" model="ir.ui.view"> <field name="name">自增长测试</field> <field name="model">comben.cashadvance</field> <field name="arch" type="xml"> <form> <sheet> <group name="group_increment_test" string="自增长测试" > <field name="sequence_id"></field> </group> </sheet> </form> </field> </record>