Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
20645 มุมมอง

Hi guys,

What is the correct way to get the database name from the current database in Python? I've foud the field dbname in the model ir.logging and tried to fetch it like this:

    def _get_db_name(self,cr,uid, vals,context=None):
        attach_pool = self.pool.get("ir.logging")
        test = attach_pool.search(cr, uid, [('dbname', '!=', ' ')])
        return test

_defaults = {
                    'name': _get_db_name,
                 }

But the default that gets filled in is always [] so what am I doing wrong here?

Thanks,
Yenthe

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi Yenthe,

It is simple to get database name. You can get the database name from cr (Cursor object). cr.dbname will give you the name of the database which is related to that cr (Cursor object). I hope it will help you.

อวตาร
ละทิ้ง
ผู้เขียน

Hmm it seems that you should never try to overcomplicate things. Thank you Emipro! By the way, what else can you exactly access with cr by default?

Hi, You can see your self just follow the path : odoo=>openerp=>sql_db.py=>class Cursor. In this class you can see all available methods and members which we can use directly from cr.

Thankyou Empiro Technologies, you answer just helped me a lot.

Related Posts ตอบกลับ มุมมอง กิจกรรม
How to import Backup Database แก้ไขแล้ว
2
ส.ค. 24
20418
0
ธ.ค. 16
2650
Change Database Master Password แก้ไขแล้ว
2
ก.ค. 24
41801
2
ก.ค. 24
947
3
มิ.ย. 22
13778