You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找Odoo数据库的内部唯一标识符?

获取Odoo数据库唯一标识符的几种方式
  • 通过环境变量读取
    Odoo启动时会将当前数据库名存入db_name环境变量,直接读取即可:

    import os
    db_identifier = os.environ.get('db_name')
    

    该名称在Odoo的多数据库部署环境中是唯一的,可直接作为标识符使用。

  • 通过Odoo环境对象获取
    在Odoo模块代码(模型、控制器等上下文)中,可从环境的游标对象提取数据库名:

    • 模型方法内:
      def your_model_method(self):
          db_identifier = self.env.cr.dbname
      
    • HTTP控制器内:
      from odoo.http import request
      def your_controller_method(self):
          db_identifier = request.env.cr.dbname
      

    cr.dbname会直接返回当前连接的数据库名称,是业务代码中最常用的方式。

  • 通过数据库连接获取
    若需主动指定数据库连接,可从连接游标中提取:

    from odoo.sql_db import db_connect
    with db_connect("target_db").cursor() as cr:
        db_identifier = cr.dbname
    

    这种方式适合需要主动初始化数据库连接的场景。

内容的提问来源于stack exchange,提问作者kpg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:15:39