【问题标题】:Run self._cr.execute on Compute Field在计算字段上运行 self._cr.execute
【发布时间】:2020-01-28 22:33:57
【问题描述】:

在 Odoo 12 上,我尝试在计算上运行 self._cr.execute,但返回给我 Null,我尝试了域并且正在工作,但是因为我将使用的查询很复杂,我需要使用 SQL 查询来完成。

    _inherit ='purchase.order.line'  

    partner1 = fields.Many2one('res.partner', string='Vendor 1', compute='_compute_vendors', copy = True, store=True, readonly= False)
    partner2 = fields.Many2one('res.partner', string='Vendor 2', compute='_compute_vendors', copy = True, store=True, readonly= False)
    partner3 = fields.Many2one('res.partner', string='Vendor 3', compute='_compute_vendors', copy = True, store=True, readonly= False)

    @api.depends('product_id')
    def _compute_vendors(self):
        vendors = []
        vendors.append(self._cr.execute("""SELECT partner_id FROM purchase_order_line"""))

有什么办法吗?

【问题讨论】:

    标签: python odoo odoo-12


    【解决方案1】:

    执行return None,检索选中的记录可以使用fetchall:

      # first execute the query
      self._cr.execute("""SELECT partner_id FROM purchase_order_line""")
      # fetc rows
      vendors = [r[0] for r in self._cr.fetchall()]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-11
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多