在日常的开发中,我们时常会遇到需要生成订单序列号的情况,这种时候就需要使用ir.sequence这个类了。
首先,在xml文件中添加一个record:
<record id="xxx" model="ir.sequence">
<field name="name">name of this sequence</field>
<field name="code">你需要序列化的模型的name</field>
<field name="prefix">PPA%(year)s%(month)s%(day)s</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</field>
解释一下代码:
name:该ir.sequence记录的name,没关紧要,只是报错的时候让你容易知道是这个地方出问题而已
code:需要序列化的模型的name
prefix:前缀,如2017080900001中的20170809
padding:序号的位数,5表示序号为5位数字,4表示序号为4位数字
company_id:暂不清楚作用,但必须指定
最后,在代码中调用:
seq_id=self.env['ir.sequence'].next_by_code('模型名')
seq_id就是最终我们需要的序列号
网友评论