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

Hello there,

My custom module controller make a string like « point_of_sale.index_2 ».

In Odoo, python, how to test if this external ID exists in my DB before to use it later in the code?

If I use this external ID in my python code and it doesn't exist, I get an error.

Thanks for your idea.

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

You could surround your code using that external_id with try/catch and do the appropriate thing in the catch clause if that id does not exist. If you need to do that check prior to the actual use of it you could use the method get_object_reference from ir_model_data and surround the code with try/except, like this:

try:

self.pool.get('ir.model.data').get_object_reference(cr, uid, 'module_name', 'external_id')

except ValueError:

# do whatever

Ảnh đại diện
Huỷ bỏ
Tác giả

Very interesting. I test it soon and I come back.

Sorry,I meant except, not catch...

Tác giả

Thanks for your answer. Exactly what I needed.

Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 3 15
3368
0
thg 3 15
4042
1
thg 3 15
4169
1
thg 3 15
6799
1
thg 3 15
8267