Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
21460 Lượt xem

I just can't find a working external id for the model hr_employee. When I look at the meta data in debug it says "XML ID: /". In the database ir.model.data I have:

id: 4633

module: hr

model: hr.employee

I've tried the id 4633, hr.hr_employee, hr_employee, hr.hr.employee, hr.employee, ... nothing works.

All the time I get the error: "External ID not found in the system"

My rule looks like

<data noupdate="1">
	<record id="hr_izracun_place.current_company_employee_access_rule" model="ir.rule">
		<field name="name">Show employees by company</field>
		<field name="model_id" ref="hr.hr_employee"/>
		<field name="domain_force">
			[('address_id', 'in' [user.company_id.id])]
		</field>
	</record>
</data>

I really don't know how to get this working and why it's not working? 

 


Ảnh đại diện
Huỷ bỏ

why don't you just check in Odoo how they defined it. here is an example

<field name="model_id" ref="model_account_move"/> for model account.move

if using outside the module in which the model is defined, then you will have to define like module_name.model_model_name

Tác giả Câu trả lời hay nhất

2 hours of googling and nothing, but after posting the question I find the answer in next try. One can see the external identifier in debug mode under Settings -> Technical -> ... -> External Identifiers

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

As far as I can tell, the model ID is auto-generated based on module and model.

For example: the model my.object in the module my_module

When searching for it:

self.env['my.object']

When referencing it in XML:

<field name="model_id" ref="my_module.model_my_object">

Notice that the . (dot) character is replaced by _ (underscore) in the model reference.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 8 20
6011
4
thg 12 19
4145
2
thg 6 21
6597
2
thg 7 25
4491
2
thg 12 24
7668