osv.osv
は、get_xml_id
メソッドを提供して、提供されたデータベースIDのXML IDを検索します。 その逆を行う最善の方法は何ですか?XML IDからデータベースIDを取得する方法
XML ID(データ読み込みファイルで定義されています)を知っているので、対応するデータベースIDを取得するにはどうすればよいのですか?ツアーのPythonコードで参照できますか?
osv.osv
は、get_xml_id
メソッドを提供して、提供されたデータベースIDのXML IDを検索します。 その逆を行う最善の方法は何ですか?XML IDからデータベースIDを取得する方法
XML ID(データ読み込みファイルで定義されています)を知っているので、対応するデータベースIDを取得するにはどうすればよいのですか?ツアーのPythonコードで参照できますか?
ir_model_data
オブジェクトには、探しているものがある_get_id()
メソッドがあります。あなたはthe res_users._get_admin_id()
methodでの使用でそれを見ることができます。
def _get_admin_id(self, cr):
if self.__admin_ids.get(cr.dbname) is None:
ir_model_data_obj = self.pool.get('ir.model.data')
mdid = ir_model_data_obj._get_id(cr, 1, 'base', 'user_root')
self.__admin_ids[cr.dbname] = ir_model_data_obj.read(cr, 1, [mdid], ['res_id'])[0]['res_id']
return self.__admin_ids[cr.dbname]
ir.model.data
モデルは、モデル名とxml_id与えられた閲覧可能なレコードを返すget_object()
方法があります。
ので、別の解決策は次のようになります。
m = self.pool.get('ir.model.data')
id = m.get_object(cr, uid, 'base', 'user_root').id
もっと洗練されたソリューションです。ありがとうございました。 – Yajo
感謝。 self.pool.get( 'ir.model.data')。get_object(cr、uid、 'hr_timesheet'、 'analytic_journal')。id –