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

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

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

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

【分享】查找某条记录的id



  • 根据老肖的pdf教程,导入数据的时候可以指定这一条数据的 id,便于以后导入相关表时 ref 它。在模块开发的时候也有很多时候需要知道menu 或 view的id。以前一直是到原模块的xml文件中去找,效率很低。群里也有很多人问起,今天终于找到了。

    数据库里有个表ir_model_data对应的对象ir.model.data就是用来存储这些字符类型的id的。

    name就是我们要的字符型的 id
    model是这条记录所属的对象名
    res_id是这条记录在它的model所在的数据表里的database id,也就是那个唯一的主键

    那么去哪里得到当前记录的model和res_id呢?
    哈哈,地址栏

    这么有用的表,每次都到数据库里去sql就太笨了吧,好在我们可以给 对象ir.model.data建个菜单,再自定义视图把model和res_id设置为 总是可搜索。
    效果如下:

    注意:根据老肖的描述,只有xml导入的数据才有id,所以并不是所有记录在这里都能找到噢。



  • 根据老肖的pdf教程,导入数据的时候可以指定这一条数据的 id,便于以后导入相关表时 ref 它。在模块开发的时候也有很多时候需要知道menu 或 view的id。以前一直是到原模块的xml文件中去找,效率很低。群里也有很多人问起,今天终于找到了。

    数据库里有个表ir_model_data对应的对象ir.model.data就是用来存储这些字符类型的id的。

    name就是我们要的字符型的 id
    model是这条记录所属的对象名
    res_id是这条记录在它的model所在的数据表里的database id,也就是那个唯一的主键

    那么去哪里得到当前记录的model和res_id呢?
    哈哈,地址栏

    这么有用的表,每次都到数据库里去sql就太笨了吧,好在我们可以给 对象ir.model.data建个菜单,再自定义视图把model和res_id设置为 总是可搜索。
    效果如下:

    注意:根据老肖的描述,只有xml导入的数据才有id,所以并不是所有记录在这里都能找到噢。



  • 赞.....

    顶.........



  • 好帖,收了



  • 感谢wif的热情奉献



  • 鱼说没看懂,我来举个例子。

    比如我要导入产品,产品计量单位是必输项,many2one的,整理的数据是字符型,比如 块(英文PCE那个),而CSV文件里你用“块”导入的话应该是不行的,老肖说应该用id,这个id是什么呢?是product_uom_unit

    怎么找到的呢,两个办法,在product模块的product_data.xml文件的第19行。怎么知道在这里呢?凭感觉。。。

    那么不凭感觉怎么找呢?通用的方法就是找ir.model.data这个对象的记录。

    打开计量单位PCE这条记录,看到地址栏里 model=product.uom&id=1

    进入那个咱们自己建的menu,find id

    资源ID输入 1 - 1
    对象输入product.uom

    就找到 product_uom_unit 了

    注意这里对象条件查询它是用的like,所以会找出两条,不过比较一下就知道哪一条是咱们要的了。

    引用的时候不要忘了在id前面加module哦



  • 学习了。这个还是比较重要的。:lol



  • 又学一招



  • 楼上的挖坟啊。6.1已经在配置菜单下有外部标识符这个子菜单,就是完成这个查找功能的。所以,嘿嘿,你刚学会的这招过期了。



  • 好贴,今天才知道,XML_ID与名称及模型的对应关系,,一直觉的很深奥。。。感谢 @重庆-mrshelly告知。<br /><br />也可以通过如下方法查找:<br />设置 --> 技术 --> 序号与标识符 --> External Identifiers


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待