跳至內容
選單
此問題已被標幟
1 回覆
1161 瀏覽次數

Hi. I want to get rid of the first field when creating a new object. Similar to how invoices are automatically assigned an ID, I'd like to do that to some custom models I have created. 

Please help!

頭像
捨棄
最佳答案

Hi Salomon Cohen, 

Yes, you can achieve it using sequence for your custom model 

=> For that first of create a field for the storing sequence of custom model

Please find code in comment. 

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

頭像
捨棄

Please find code here :-

sequence_no = fields.Char(string='Sequence', required=True,readonly=True,
default=lambda self: _('New'))

=> Add function for the sequence in the following code
@api.model
def create(self, vals):
if vals.get('sequence_no', ('New')) == ('New'):
vals['sequence_no'] = self.env['ir.sequence'].next_by_code(
'custom.model') or _('New')
res = super(CustomModel, self).create(vals)
return res

=> And create a record for that and create an XML file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="seq_custom_model" model="ir.sequence">
<field name="name">Custom Model Sequence</field>
<field name="code">custom.model</field>
<field name="prefix">CM</field>
<field name="padding">3</field>
<field name="company_id" eval="False"/>
</record>
</odoo>

相關帖文 回覆 瀏覽次數 活動
1
9月 24
1644
2
7月 24
1802
1
4月 24
4809
0
1月 24
1389
0
10月 23
1397