【问题标题】:Odoo 12: How to use form values in @api.model methodsOdoo 12:如何在@api.model 方法中使用表单值
【发布时间】:2019-04-05 20:50:05
【问题描述】:

我是论坛的新手。
我目前正在使用 Odoo 12,并且在将 Odoo 模型与我的 Javascript 小部件通信时遇到了一些问题。一步一步...
1. 我正在创建一个显示一些 Google 图表的小部件,我发现的唯一方法是在自定义视图中显示 QWeb 代码并将小部件分配给 Char 字段。
2. 我一开始就使用 rpc 实现了一个不错的方法:使用 rpc 的函数并从模块中获取数据。
3. 问题:
我需要在表单中显示两个日期字段并将该日期用作我的 Google 图表的间隔:如何在我的 @api.model
中获取日期值 功能??
该函数只能读取所有表的结果集,当我尝试获取字段中设置的结果(self.init_date)时,我总是收到“False”
对不起,我今天不能发布代码,但是如果没有人可以给我答案,我会在星期一发布。
非常感谢!

【问题讨论】:

    标签: javascript python odoo odoo-12


    【解决方案1】:

    api.model 装饰器使您可以访问模型的方法,但不能访问记录,因此可以在模型没有记录时调用它们(请参阅https://www.odoo.com/documentation/12.0/reference/orm.html#module-odoo.api)。

    如果您编写的方法旨在始终接收记录,只需删除 api.model 装饰器。

    【讨论】:

      【解决方案2】:

      你好尝试使用这样的东西

      from odoo import api,models, fields, _
      
      class MyCustomModel(models.Model):
          _name = "my.custom.model"
      
          #... some fields
          date1 =  fields.Date(string="Date 1")
          date2 =  fields.Date(string="Date 2")
      
          @api.model
          def my_custom_func(self):
              # read all data in table
              all_records = self.env['my.custom.model'].search([])
              for rec in all_records:
                  print(rec.date1, rec.date2)
      

      这是一个访问所有记录的 date1 和 date2 的简单示例

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-06
        • 1970-01-01
        相关资源
        最近更新 更多