0

我想在 odoo 10 中创建一个条形图(图表视图),可以显示每门课程学习的学生人数。有了这个 python 数据库,我该如何实现它?Internet 上没有关于此类视图的示例代码。

class Student(models.Model):
   _name = "studentmanagement.student"

   id= fields.Char(required=True, index=True)
   full_name= fields.Char(required=True, index=True)
   gender = fields.Char()
   birthday = fields.Char(required=True)
   address = fields.Char(required=True)
   course_inscription = fields.Many2many('studentmanagement.course',string = 'inscription')
   _sql_constraints = [('id_unique', 'UNIQUE(id)', 'Two students can not have the same ID!')]


class course(models.Model):
     _name = "studentmanagement.course"

     code = fields.Char(required=True, index=True)
     course_name = fields.Char(required=True, index=True)
     credits = fields.Integer(required=True)
     nstudent= fields.Integer(compute='_compute_percentage_students_course', store=True)
     _sql_constraints = [('code_unique', 'UNIQUE(code)', 'Two courses can not have the same ID!')]

     @api.depends('percentage','course_inscription')
     def _compute_percentage_students_course(self):
        for record in self:
            record.nstudent = len(record.course_inscription)

非常感谢你的帮助 !

4

1 回答 1

1

这是一个图表视图:

<graph string="Sales Orders">
                    <field name="partner_id"/>
                    <field name="amount_total" type="measure"/>
</graph>

该图表视图有两个字段。根据图表的类型,它们将相应地呈现。

您必须创建一个字段来保存计算的百分比,例如:

percentage = fields.Float(compute='_compute_percentage_students_course' store=True)

在其中,_compute_percentage_students_course您将计算并将计算设置为percentage字段的值(查看官方文档中的计算字段部分,了解如何正确创建计算字段)

此外,请查看图表视图上的文档,该文档告诉您如何创建图表、您可以拥有的图表类型等。以下内容应该适合您:

<graph string="Sales Orders">
                        <field name="full_name"/>
                        <field name="percentage" type="measure"/>
    </graph>
于 2017-02-25T21:51:29.113 回答