This question has been flagged
1 Reply
5569 Views

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*.

Avatar
Discard
Author Best Answer

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.

Avatar
Discard

do you put a example please. thank

Author

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