簡體   English   中英

如何在odoo 9中創建自動增量字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM