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

I've got this situation in which a boolean field get's changed by the user. And, it gets saved.

But... whenever the form is loaded, that field has to be set to False. Notice that I am not referring to default value. No, the field's value has to be changed so, no matter what value was saved, it has to be reset to False the next time the form is loaded.


I thought about using a computed field that would change the other field's value but, despite the log tellng me the value had been changed, nothing happened in the form.


An __init__, perhaps? Tried it but it was always raising an error. The model is product.template, BTW


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

Hi,

You can use the fields_view_get method of models.Model.

This method is called whenever odoo is rendering a view of the model.

It gets the correct view given the context and returns the data of the field.

This \tutorial may help.

http://elico-corp.com.sg/2015/10/01/how-to-tech-dynamically-modify-your-view/

Best regards.

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

Thanks Bejaoui. That's what I had done: I put a query inside this method But, somewhow, I believe there must be some more... "elegant" way of doing this.

For me, i use this method every time i need to dynamically modify a view based on some condition. You can find several examples in the standard addons.

Is there other way to do it? Possible, why not :)

Welcome.

Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 9 23
9842
1
thg 10 22
6712
1
thg 6 16
3905
1
thg 3 16
10186
2
thg 7 24
1815