diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index c87a6aca455..0cddc887f18 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -3175,7 +3175,7 @@ var BasicModel = AbstractModel.extend({ commands[fieldName].push(x2ManyCommands.link_to(list.res_ids[i])); continue; } - changes = this._generateChanges(relRecord, options); + changes = this._generateChanges(relRecord, _.extend({}, options, {changesOnly: true})); if (!this.isNew(relRecord.id)) { // the subrecord already exists in db commands[fieldName].push(x2ManyCommands.link_to(relRecord.res_id)); diff --git a/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js b/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js index ed38fbbaf03..b32f8478ccf 100644 --- a/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js +++ b/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js @@ -1676,9 +1676,7 @@ QUnit.module('fields', {}, function () { obj.turtles, [ [4, 2, false], - [1, 2, { turtle_foo: 'blip' }], [4, 3, false], - [1, 3, { turtle_foo: 'kawa' }] ], "should have properly created the x2many command list"); }; @@ -1702,14 +1700,9 @@ QUnit.module('fields', {}, function () { return Promise.resolve({ turtles: [[6, 0, [2, 3]]] }); } if (args.method === 'create') { - // it would be even better if we did not send the current - // unchanged state with the command 1, but this seems more - // difficult. assert.deepEqual(args.args[0].turtles, [ [4, 2, false], - [1, 2, { turtle_foo: 'blip' }], [4, 3, false], - [1, 3, { turtle_foo: 'kawa' }] ], 'should send proper commands to create method'); } return this._super.apply(this, arguments);