This question has been flagged
3 Replies
4575 Views

Hi all,

I need to add more selection option to an existing field, can i replace(Am not aware of the after affects of replacing an existing fields) the same with my new options or is there any other methods for this.

Thanks in advance

Avatar
Discard
Author

Thanks @Niyas Raphy and @Cybrosys Techno Solutions Pvt.Ltd for your quick response

Best Answer

Hi,

For adding new values to an existing selection field in Odoo, you can do it by using the selection_add , see the below example,

alias_contact = fields.Selection(selection_add=[('employees', 'Authenticated Employees')])

Original field definition:


alias_contact = fields.Selection([
('everyone', 'Everyone'),
('partners', 'Authenticated Partners'),
('followers', 'Followers only')], default='everyone',
string='Alias Contact Security', required=True,
help="Policy to post a message on the document using the mailgateway.\n"
"- everyone: everyone can post\n"
"- partners: only authenticated partners\n"
"- followers: only followers of the related document or members of following channels\n")

Thanks

Avatar
Discard
Best Answer

Hi,

Replacing an existing field is not a good option. For extending an existing selection field you can use the method selection_add. For reference you can use the below example

field_name = fields.Selection(selection_add=[('name', 'display_name')])

Hope it helps

Avatar
Discard
Best Answer

Odoo 16 


field_name = fields.Selection(selection_add=[('name', 'display_name'), ('name', 'display_name'), ('name', 'display_name')])
field_name2 = ['display_name']

When I tried to use a comparison in domain search. It is not working.

all = self.env["field_name module"].search([("type",=,"field_name2")]) 

But working to search by name. it is not working to search by display name

Avatar
Discard