如何查找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
相关产品推荐
相关产品推荐

