Odoo13使用SQL构建报表

Odoo13使用SQL构建报表

1.新建模型CustomSqlModel

# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools


class CustomSqlModel(models.Model):
    _name = 'custom.sql.model'
    _description = "Custom Sql Model"
    #使用此字段后不会自动创建表
    _auto = False

    field_one = fields.Char(readonly=True)
    field_two = fields.Char(readonly=True)
    field_three = fields.Integer(readonly=True)

	#重写init方法
    @api.model_cr
    def init(self):
        tools.drop_view_if_exists(self.env.cr, self._table)
        #必须要查询id
        sql = """
            create or replace view %s as (
                 select 1 as id, 2 as field_one, 3 as field_two , 4 as field_three
            )
        """ % self._table
        self.env.cr.execute(sql)

2.配置权限和菜单

即可在页面中查看到相应报表

你可能感兴趣的:(Python)