能夠這麼理解,我有一個產品序號,編碼的前綴是SOP,後綴是0001~9999的序號,沒生成一個產品就自動流水加一,序列號不會重複,odoo中的ir.sequence這個模型提供了這個方法。
python
創建一個XML,並記得在__mainfest__.py中導入api
<?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="1"> <!-- Sequences for sale.order --> <record id="my_sale_sequence" model="ir.sequence"> <field name="name">Sales Order</field> <field name="code">my_sale.sale_order</field> <field name="prefix">SO</field> <field name="padding">3</field> <field name="company_id" eval="False"/> </record> </data> </odoo>
name 序列規則得名稱,可自定義
code 序列規則得編碼,要求最好惟一,使用模塊.表名來命確保惟一
prefix 序號編碼的前綴
padding 填充數據的位數
編碼
@api.model def create(self, vals): vals['name'] = self.env['ir.sequence'].next_by_code('wf_sale.sale_order') return super(SaleOrder,self).create(vals)