Customizing how records are searched
The Defining the Model representation and order recipe in Chapter 4,Creating Odoo addon Modules, introduced the name_get()
method, which is used to compute a representation of the record in various places, including in the widget used to display Many2one
relations in the web client.
This recipe shows us how to allow searching for a book in the Many2one
widget by title, author, or ISBN by redefining name_search
.
Getting ready
For this recipe, we will use the following model definition:
class LibraryBook(models.Model): _name = 'library.book' name = fields.Char('Title') isbn = fields.Char('ISBN') author_ids = fields.Many2many('res.partner', 'Authors') @api.multi def name_get(self): result = [] for book in self: authors = book.author_ids.mapped('name') name = '%s (%s)' % (book.name, ', '.join(authors)) result.append((book.id, name)) return result
When using this model...