Odoo 中创建序列并生成用于记录的序列值

简介#

总是需要自动编号的,物资要编号,档案要编号,怎么在odoo自动编号

一:使用xml注册序列#

data/sequence.xml    记得注册到__manifest__.py

复制代码
<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">

        <record id="it_equipment_sequence" model="ir.sequence">
            <field name="name">it_equipment_sequence</field>
            <field name="code">it_equipment.seq</field>
            <field name="prefix">T%(range_year)s</field>
            <field name="padding">8</field>
        </record>

    </data>
</odoo>
复制代码

这时,你在技术-序列,就可以看到定义的序列了。也能看到prefix的各种变量

使用range_就是会在改变这个变量值的时候重新从1开始计算了。

二:使用序列#

model.py

创建时获取(会跳号)

 asset_code = fields.Char(string='资产编码', default=lambda self: self.env['ir.sequence'].next_by_code('it.equipment.seq'))

保存时获取(不跳号)

@api.model
def create(self, vals):
# We generate a standard reference
vals['asset_code'] = self.env['ir.sequence'].next_by_code('it.equipment.seq') or '/'
return super(equipment, self).create(vals)

 

作者:上官飞鸿

出处:https://www.cnblogs.com/jackadam/p/16510503.html

版权:本作品采用「知识共享-署名-非商业性-禁止演绎(CC-BY-NC-ND)」许可协议进行许可。

posted @   上官飞鸿  阅读(199)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示