创建视图model或执行SQL时,如果字段或表名出现大写字母时,就会报psycopg2.errors.UndefinedColumn类似的问题,原因是PostgreSQL大小写不敏感。
psycopg2.errors.UndefinedColumn: 错误: 字段 a.employeeid 不存在 LINE 3: SELECT A.id, A.employeeId, A."employeeName", A.g... ^ HINT: 也许您想要引用列"a.employeeId"。
psycopg2.errors.UndefinedColumn: 错误: 字段 a.employeeid 不存在
解决办法是列名或表名加双引号,如:
tools.sql.drop_view_if_exists(self.env.cr, self._table) self.env.cr.execute(''' CREATE OR REPLACE VIEW %s AS ( SELECT A.id, A."employeeId", A."employeeName", A.gender, A."idCard" FROM ohs_employee A )''' % self._table)