在日常的開發(fā)中幸冻,我們時常會遇到需要生成訂單序列號的情況堤瘤,這種時候就需要使用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弧腥,沒關(guān)緊要,只是報錯的時候讓你容易知道是這個地方出問題而已
code:需要序列化的模型的name
prefix:前綴潮太,如2017080900001中的20170809
padding:序號的位數(shù)鸟赫,5表示序號為5位數(shù)字,4表示序號為4位數(shù)字
company_id:暫不清楚作用消别,但必須指定
最后抛蚤,在代碼中調(diào)用:
seq_id=self.env['ir.sequence'].next_by_code('模型名')
seq_id就是最終我們需要的序列號