Executing raw SQL queries
Most of the time, you can perform the operations you want by using Odoo's ORM. For example, you can use the search()
method to fetch records. However, sometimes, you need more; either you cannot express what you want using the domain syntax (for which some operations are tricky, if not downright impossible) or your query requires several calls to search()
, which ends up being inefficient.
This recipe shows you how to use raw SQL queries to get the average number of days a user keeps a particular book.
Getting ready
For this recipe, we will use the my_library
module from the previous recipe. For simplicity, we will just print the results in a log, but in real scenarios, you will need to use the query result in your business logic. In Chapter 9, Backend Views, we will display the result of this query in the user interface.
How to do it...
To get the information about the average number of days a user keeps a particular book, you need to perform...