diff --git a/trytond/trytond/ir/model.py b/trytond/trytond/ir/model.py index d8162f7d0e..f525285ed7 100644 --- a/trytond/trytond/ir/model.py +++ b/trytond/trytond/ir/model.py @@ -571,7 +571,13 @@ class ModelAccess(DeactivableMixin, ModelSQL, ModelView): for model in models: Model = pool.get(model) if callable(getattr(Model, 'table_query', None)): - access[model] = default_table_query + maccess = access[model] = default_table_query.copy() + if Model.create != ModelSQL.create: + maccess['create'] = default['create'] + if Model.write != ModelSQL.write: + maccess['write'] = default['write'] + if Model.delete != ModelSQL.delete: + maccess['delete'] = default['delete'] elif issubclass(Model, ModelSingleton): access[model] = default_singleton else: