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

I have two models (A and B) with their respective views.

  • Model A has a field named x which is a many2one relation of B.
  • Model B has a field named y which is what interests me.

x is not labeled the same as the name of model B, but the name_get function of B shows me the proper information.

I would like to be able to type in the x field and be able to have the quick add fill in the y field of B, but it only seems to fill in name*.

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

In the xml view of model A, add the following attribute to the x field:

options='{"create_name_field": "y"}'

I found the solution while debugging in javascript in web/static/src/js/view_form.js and found the following function:

add_id: function(id) {},
_create_context: function(name) {
    var tmp = {};
    var field = (this.options || {}).create_name_field;
    if (field === undefined)
        field = "name";
    if (field !== false && name && (this.options || {}).quick_create !== false)
        tmp["default_" + field] = name;
    return tmp;
},

this.options corresponds to the options attribute in the field of and xml view and create_name_field corresponds to a dictionary key.

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

do you put a example please. thank

Tác giả

Here's an example: http://bazaar.launchpad.net/~partner-contact-core-editors/partner-contact-management/7.0/view/head:/base_location/partner_view.xml#L11

Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 2 25
5976
1
thg 12 24
1502
1
thg 11 22
16077
3
thg 8 22
13131
2
thg 8 22
4579