Customizing how records are searched

The Defining the Model representation and order recipe in Chapter 3, Creating Odoo 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 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 be using 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.model def name_get(self): result = [] for book in self: authors ...

Get Odoo Development Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.