如何修复odoo中存在的列的列不存在错误

问题描述

当我尝试在odoo中安装特定的自定义模块时出现此错误。这是错误

 File "/home/akoh/Documents/erpsoftapp/odoo11/cbi_addons/sales_delivery_report/sales_delivery_report.py",line 101,in init
    ) """ % (self._table,self._select(),self._from(),self._group_by()))
  File "/opt/odoo/odoo11/odoo/sql_db.py",line 155,in wrapper
    return f(self,*args,**kwargs)
  File "/opt/odoo/odoo11/odoo/sql_db.py",line 232,in execute
    res = self._obj.execute(query,params)
psycopg2.ProgrammingError: column o.d_name does not exist
LINE 10:                             o.d_name AS driver_name_sale_ord...

这是我怀疑错误来自的代码块,我没有编写代码,但我希望可以继续工作。

def _select(self):
        select_str = """
                    SELECT                
                            o.id AS id,o.id AS order_id,o.name AS order_num,o.date_order AS date_order,o.state AS order_state,partner.name AS name,o.d_name AS driver_name_sale_order,o.t_number AS v_licence_plate_sale_order,o.amount_total as bags_value,wh.way_bill as waybill_num,wh.d_name as driver_name,wh.t_num as v_licence_plate,wh.state as state,sum(whl.product_qty) as bags_qty
                """
        return select_str

@api.model_cr
    def init(self):
        # self._table = sale_report
        tools.drop_view_if_exists(self.env.cr,self._table)
        self.env.cr.execute("""CREATE or REPLACE VIEW %s as (
                %s
                FROM ( %s )
                %s
                 ) """ % (self._table,self._group_by()))

解决方法

d_name字段在您别名为 O

的模型中不存在

请仔细检查或使用_select_from_group_by函数放置所有代码。