Book Image

Odoo Development Cookbook

By : Holger Brunn, Alexandre Fayolle, Daniel Reis
Book Image

Odoo Development Cookbook

By: Holger Brunn, Alexandre Fayolle, Daniel Reis

Overview of this book

Odoo is a full-featured open source ERP with a focus on extensibility. The flexibility and sustainability of open source is also a key selling point of Odoo. It is built on a powerful framework for rapid application development, both for back-end applications and front-end websites. The book starts by covering Odoo installation and administration, and provides a gentle introduction to application development. It then dives deep into several of the areas that an experienced developer will need to use. You’ll learn implement business logic, adapt the UI, and extend existing features.
Table of Contents (23 chapters)
Odoo Development Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Filtering recordsets


In some cases, you already have a recordset, but you need to operate only on some records. You can, of course, iterate on the recordset, checking for the condition on each iteration and acting depending on the result of the check. It can be easier, and in some cases, more efficient to construct a new recordset containing only the interesting records and calling a single operation on that recordset.

This recipe shows how to use the filter() method to extract a recordset from another one.

Getting ready

We will reuse the simplified res.partner model shown in the Create new records recipe previously. This recipe defines a method to extract partners having an e-mail address from a supplied recordset.

How to do it…

In order to extract records with an e-mail address from a recordset, you need to perform the following steps:

  1. Define the method accepting the original recordset:

        @api.model
        def partners_with_email(self, partners):
  2. Define an inner predicate function:

            def predicate...