如何在odoo 9中创建自动增量字段

yog*_*oro 4 python openerp python-2.7 odoo-9

在我的模型中,我想创建自动增量字段,我试图遵循一些不幸,所有教程只是在odoo 8下工作.我只是按照odoo 9中的一些威胁指示在此链接 自动增量 - 内部参考odoo9 它是通过/sf/users/261397111/的回答工作, 但仍然不适合我.这是我的模型:

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)
Run Code Online (Sandbox Code Playgroud)

这是我的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>
Run Code Online (Sandbox Code Playgroud)

上面的代码显示没有错误但是当我点击保存按钮时,sequence_id字段保持为空.请帮帮我...

Bha*_*dra 6

尝试使用以下代码.

用.替换create方法

@api.model
def create(self, vals):
    vals['sequence_id'] = self.env['ir.sequence'].get('comben.cashadvance')
    return super(cashadvance, self).create(vals)
Run Code Online (Sandbox Code Playgroud)

用.替换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>
Run Code Online (Sandbox Code Playgroud)

然后重启odoo服务器并升级你的模块.

注意:

升级模块时,它带有.xml文件不会升级.所以首先删除noupdate ="1"属性和升级模块.检查流量.它应该工作正常.不要忘记在序列视图文件上再次放置noupdate ="1".

确保在__ openerp __.py文件中提供了.xml 文件