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

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录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 就这样