[英]how to create auto increment field in odoo 9
在我的模型中,我想創建自動增量字段,不幸的是,我嘗試遵循一些方法,所有教程僅適用於odoo 8或更低版本。 我只是在此鏈接自動遞增中遵循來自odoo 9中某些威脅的指令-內部參考odoo9它正在通過https://stackoverflow.com/users/3734244/danidee的回答工作,但仍不適用於我。 這是我的模型:
class cashadvance(osv.osv):
_name = 'comben.cashadvance'
_columns = {
'sequence_id': fields.char(string='Sequence ID', help="Auto Generate"),
}
@api.model
def create(self, vals):
vals['sequence_id'] = self.env['ir.sequence'].get('seq.cashadvance')
return super(cashadvance, self).create(vals)
這是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="cashadvance_seq" model="ir.sequence">
<field name="name">No_PD</field>
<field name="padding">3</field>
<field name="code">seq.cashadvance</field>
</record>
</data>
</openerp>
上面的代碼未顯示任何錯誤,但是當我單擊“保存”按鈕時,sequence_id字段保持為空。 請幫幫我...
嘗試以下代碼。
將create方法替換為
@api.model
def create(self, vals):
vals['sequence_id'] = self.env['ir.sequence'].get('comben.cashadvance')
return super(cashadvance, self).create(vals)
將xml文件替換為
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="cashadvance_seq" model="ir.sequence">
<field name="name">No_PD</field>
<field name="padding">3</field>
<field name="code">comben.cashadvance</field>
</record>
</data>
</openerp>
然后重啟odoo服務器並升級您的模塊。
注意:
當您升級模塊時,它具有.xml文件 不會升級。 因此,首先刪除noupdate =“ 1”屬性並升級模塊。 檢查流量。 它應該工作正常。 不要忘記在序列視圖文件上再次放置noupdate =“ 1” 。
確保已在__ openerp __.py文件中提供了.xml文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.