在关系字段odoo10的计算中检索字段值

2024-06-23 19:50:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检索Many2one字段中模型记录的所有值。我不知道用计算机是否可能。在

我的同班同学想要恢复价值:

class ResPartner_school(models.Model):

    _name = 'ecole.partner.school'
    _order = 'id desc'

    school_name = fields.Many2one(comodel_name="ecole.establishment.webservice",
                              string="Etablissement Scolaire",
                               default=1)
    school_level = fields.Many2one(comodel_name="ecole.establishment.webservice",
                               string="Niveau Scolaire",
                               compute="_get_level")

我的另一门课:

^{pr2}$

我的类中的函数ResPartner_school

^{3}$

{{cd3>如何从cd3}中检索所有的值?在


Tags: name模型webfieldsstringservicelevelschool
1条回答
网友
1楼 · 发布于 2024-06-23 19:50:54

显示“所有”数据的一个解决方案(取决于有多少数据)是用两个变量覆盖模型的name_get()。在

  1. 基于变量上下文name_get()

首先重写模型ecole.establishment.webservicename_get()

class SchoolEstablishmentWebServices(models.Model):

    _name = 'ecole.establishment.webservice'

    @api.multi
    def name_get(self):
        res = []
        for webservice in self:
            if 'full_name' in self.env.context:
                res.append((webservice.id, webservice.get_full_name()))
            else:
                res.append((webservice.id, webservice.establishment_name))
        return res

    def get_full_name(self):
        #  example logic
        self.ensure_one()
        full_format = "{establishment}, {grade}"
        return full_format.format(
            establishment=self.establishment_name, grade=self.grade_name)

然后需要将值full_name放入上下文中。你可以把它添加到字段本身,这不会起到那么好的作用。最好将该值放入菜单操作的上下文中,该操作用于显示您的'ecole.partner.school'项。在

^{pr2}$
  1. Variant non-context-based—>;它与Variant 1相同,根本不使用上下文。它将是全系统的,不仅在你想要的地方。这是更简单的变体。在

相关问题 更多 >

    热门问题