Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

字段名不要用汉字或者大写字母



  • rt



  • 梦姑分享:
    字段名 is_A_type
    测试运行无问题

    直到有一天。。。。。。

    加了一个报表,要用view取此表数据,写 select is_A_type ,运行时报数据库错误,不存在字段名 is_a_type

    怀疑orm在执行sql的时候做了safe_eval 外加 lower,导致sql无法执行

    尚无确凿代码行作为证据,按规矩先分享



  • 证据确凿,先顶为上



  • 在PostgreSQL的语法中,默认会将所有的栏位和表名都转换为小写字母。如果要使用大写字母的话,要增加双引号,如:select "is_A_type"
    因为在OE中,通过ORM产生的SQL都是没有双引号的,所以OE碰到有大写字母的表名或栏位都会提示出错。



  • [quote author=vnsoft link=topic=16569.msg28767#msg28767 date=1408374096]
    在PostgreSQL的语法中,默认会将所有的栏位和表名都转换为小写字母。如果要使用大写字母的话,要增加双引号,如:select "is_A_type"
    因为在OE中,通过ORM产生的SQL都是没有双引号的,所以OE碰到有大写字母的表名或栏位都会提示出错。
    [/quote]

    正解,不是 OE 的问题,Pgsql 就这样


Log in to reply