【问题标题】:singleton error when computing age and working time odoo14计算年龄和工作时间odoo14时的单例错误
【发布时间】:2022-11-12 19:50:41
【问题描述】:

我在尝试计算年龄和工作时间时遇到了加薪 ValueError("预期的单例:%s" % self)) ValueError:预期的单身人士:restaurant.karywan(1, 2)

#computing age
 @api.depends('tanggal_lahir')
    def _hitung_usia(self):
        if self.tanggal_lahir is not False:
            self.usia = (datetime.today().date() - datetime.strptime(str(self.tanggal_lahir),'%Y-%m-%d').date()) // timedelta(days=365)

#computing working time
    @api.depends('mulai_bekerja')
    # @api.multi
    def _lama_bekerja(self):
        if self.mulai_bekerja:
            years = relativedelta(date.today(), self.mulai_bekerja).years
            months = relativedelta(date.today(), self.mulai_bekerja).months
            day = relativedelta(date.today(), self.mulai_bekerja).days
        self.lama_bekerja = str(int(years)) + ' Tahun ' + str(int(months)) + ' Bulan ' + str(day) + ' Hari'

如何解决?

【问题讨论】:

    标签: singleton odoo-14


    【解决方案1】:

    如果存在字段或仍需要为任何依赖项计算字段,则可能会在树视图中调用计算方法。

    这意味着你的 self 将包含你的模型的 N 个实例而不是一个。 通过迭代它们来确保您的逻辑支持多个实例。

    @api.multi
    def _compute_fun(self):
      for record in self:
         // record.field = ... logic
    

    【讨论】:

      猜你喜欢
      • 2012-03-26
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多