fixes #587
parent
3778616fd5
commit
3953779836
|
@ -5,3 +5,4 @@ from . import purge_columns
|
|||
from . import purge_tables
|
||||
from . import purge_data
|
||||
from . import purge_menus
|
||||
from . import ir_model_fields
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# © 2014-2016 Therp BV <http://therp.nl>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
from openerp import api, models
|
||||
|
||||
|
||||
class IrModelFields(models.Model):
|
||||
_inherit = 'ir.model.fields'
|
||||
|
||||
# In case of purging it means the model does not exist anymore in
|
||||
# installed module. In this specific case, we need to avoid to check
|
||||
# if fields can be removed as it would fail.
|
||||
@api.multi
|
||||
def _prepare_update(self):
|
||||
if self.env.context.get('purge'):
|
||||
self -= self.filtered(lambda x: x.model not in self.env.registry)
|
||||
return super(IrModelFields, self)._prepare_update()
|
|
@ -54,6 +54,7 @@ class CleanupPurgeLineModel(models.TransientModel):
|
|||
context_flags = {
|
||||
MODULE_UNINSTALL_FLAG: True,
|
||||
'no_drop_table': True,
|
||||
'purge': True,
|
||||
}
|
||||
|
||||
for line in self:
|
||||
|
|
Loading…
Reference in New Issue