The report we built was based on a regular recordset. However, in some cases we need to transform or aggregate data in ways that are not easy or desirable to process in a QWeb template.
One approach for this is to write a SQL query to build the dataset we need, expose those results through a special model, and have our report work based on a recordset.
To showcase this, we will create a reports/library_book_report.py file with the following code:
from odoo import models, fields class BookReport(models.Model):
_name = 'library.book.report' _description = 'Book Report'
_auto = False
name = fields.Char('Title') publisher_id = fields.Many2one('res.partner') date_published = fields.Date()
def init(self):
self.env.cr.execute("""
CREATE OR REPLACE VIEW...