odoo-圖表透視圖


圖形視圖

圖形視圖允許聚合的概述和模型的分析,它們的根元素是 <graph>

數據透視圖(元素<pivot>)是一個多維表,它允許選擇文件和維度來獲得正確的聚合數據集,然后移動到更為圖形化的概觀。數據透視圖共享與圖視圖相同的內容定義。

圖形視圖有4種顯示模式,默認模式是使用@typ屬性來選擇的。

柱狀圖(默認的)

柱狀圖,第一維用於定義水平軸上的組,其他維度定義每個組內的聚合條。

默認情況下,柱狀圖是並排的,它們可以通過使用@stacked="True"<graph>上進行堆疊

曲線圖
二維線圖
餅圖
二維的餅圖

圖形視圖包含具有強制@type屬性的<field>值:

row (默認的)
默認情況下應聚合字段
measure
字段應該聚合而不是分組
<graph string="Total idea score by Inventor">
    <field name="inventor_id"/>
    <field name="score" type="measure"/>
</graph>

警告

圖形視圖對數據庫值執行聚合,它們不與非存儲的計算字段一起使用

練習

圖形視圖

Session對象中添加一個圖形視圖,它顯示每個course中在柱形圖表單下attendees的數量。

  1. attendees的數量作為存儲的計算字段添加
  2. 然后添加相關視圖
openacademy/models.py
    hours = fields.Float(string="Duration in hours",
                         compute='_get_hours', inverse='_set_hours')

    attendees_count = fields.Integer(
        string="Attendees count", compute='_get_attendees_count', store=True)
    @api.depends('seats', 'attendee_ids')
    def _taken_seats(self):
        for r in self:
        for r in self:
            r.duration = r.hours / 24

    @api.depends('attendee_ids')
    def _get_attendees_count(self):
        for r in self:
            r.attendees_count = len(r.attendee_ids)
    @api.constrains('instructor_id', 'attendee_ids')
    def _check_instructor_not_in_attendees(self):
        for r in self:
openacademy/views/openacademy.xml
            </field>
        </record>

        <record model="ir.ui.view" id="openacademy_session_graph_view">
            <field name="name">openacademy.session.graph</field>
            <field name="model">openacademy.session</field>
            <field name="arch" type="xml">
                <graph string="Participations by Courses">
                    <field name="course_id"/>
                    <field name="attendees_count" type="measure"/>
                </graph>
            </field>
        </record>
        <record model="ir.actions.act_window" id="session_list_action">
            <field name="name">Sessions</field>
            <field name="res_model">openacademy.session</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form,calendar,gantt,graph</field>
        </record>

        <menuitem id="session_menu" name="Sessions"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM