Skip to Content
Menú
This question has been flagged
1 Respondre
1125 Vistes

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!

Avatar
Descartar
Best Answer

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

Avatar
Descartar

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>

Related Posts Respostes Vistes Activitat
1
de set. 24
1520
2
de jul. 24
1665
1
d’abr. 24
4643
0
de gen. 24
1299
0
d’oct. 23
1294