1.模块下面的data文件夹里面新建一个XML文件
如图:main_data_seq.xml
<?xml version="1.0" encoding="utf-8"?> <odoo> <data> <record id="asset_sequence_id_seq" model="ir.sequence"> <field name="name">资产序列</field> <field name="code">asset_sequence_id_seq</field> <field name="prefix">%(y)s%(month)s%(day)s</field> <field name="padding">3</field> <field eval="1" name="number_next"/> <field eval="1" name="number_increment"/> </record> </data> </odoo>a
- name: 该序列的名称
- code: 该序列引用时候,的next_by_code()里面的值
asset_sequence_id = fields.Many2one(string='资产序列', comodel_name='ir.sequence', readonly=True, default=lambda self: self.env['ir.sequence'].next_by_code('asset_sequence_id_seq'))
注意用的时候,这块我用的是默认值的形式,给赋上资产序列值
- prefix: 生成序列时候要加的格式
格式如下:- padding: 生成序列后给prefix后面加的几位数字,没有prefix,则直接是几位数字
2.如果删除修改,重新生成序列时候,要注意
- 到数据库中,ir.sequence,就是序列数据表中删除
- 还要到ir.model.data表里面进行删除
到ir.model.data里面找到删除掉的,name=你创建的该条序列的id,如下:name = 这个值,就如上面的xml中id值,找到之后进行删除,SELECT * FROM ir_model_data where name = 'asset_sequence_id_seq'
- 删除完之后,再进行创建
odoo中的序列(自动增长的序列以及有条件的序列,ir.sequence)
最新推荐文章于 2022-12-22 09:47:27 发布