diff --git a/addons/web/static/src/views/view_service.js b/addons/web/static/src/views/view_service.js index 3f02d05dafa..10f38d7f528 100644 --- a/addons/web/static/src/views/view_service.js +++ b/addons/web/static/src/views/view_service.js @@ -74,7 +74,8 @@ export const viewService = { loadViewsOptions.mobile = true; } const { context, resModel, views } = params; - const key = JSON.stringify([resModel, views, context, loadViewsOptions]); + let filteredContext = Object.fromEntries(Object.entries(context || {}).filter((k,v) => !String(k).startsWith("default_"))); + const key = JSON.stringify([resModel, views, filteredContext, loadViewsOptions]); if (!cache[key]) { cache[key] = orm .call(resModel, "get_views", [], { context, views, options: loadViewsOptions }) diff --git a/addons/web/static/tests/views/view_service_tests.js b/addons/web/static/tests/views/view_service_tests.js index 1eb638dce8f..704583ee2dc 100644 --- a/addons/web/static/tests/views/view_service_tests.js +++ b/addons/web/static/tests/views/view_service_tests.js @@ -53,6 +53,7 @@ QUnit.module("View service", (hooks) => { { resModel: "take.five", views: [[99, "list"]], + context: {default_field_value: 1}, }, {} ); @@ -60,6 +61,7 @@ QUnit.module("View service", (hooks) => { { resModel: "take.five", views: [[99, "list"]], + context: {default_field_value: 2}, }, {} );