は、提供されたデータベース ID の XML ID を検索osv.osv
するメソッドを提供します。get_xml_id
逆にどうするのが一番いいの?
XML Id (データ ロード ファイルで定義されている) を知っている場合、ツアー Python コードで参照できるように、対応するデータベース ID を取得するにはどうすればよいですか?
は、提供されたデータベース ID の XML ID を検索osv.osv
するメソッドを提供します。get_xml_id
逆にどうするのが一番いいの?
XML Id (データ ロード ファイルで定義されている) を知っている場合、ツアー Python コードで参照できるように、対応するデータベース ID を取得するにはどうすればよいですか?
このir.model.data
モデルにはget_object()
、モデル名と xml_id を指定してブラウズ可能なレコードを返すメソッドもあります。
したがって、別の解決策は次のとおりです。
m = self.pool.get('ir.model.data')
id = m.get_object(cr, uid, 'base', 'user_root').id
The ir_model_data
object has a _get_id()
method that does what you're looking for. You can see it in use in 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]