Fix error in convert.py when removing records of a model that no longer exists.
Fix error in convert.py when an upgrade needs to remove records of a model which no longer exists. issue2496 review283003
This commit is contained in:
1 parent
d633e53526
commit
fdad39babc
1 file changed
+13
-3
+13
-3
@@ -354,8 +354,12 @@ class Fs2bdAccessor:
|
||||
record_ids.setdefault(rec.model, [])
|
||||
record_ids[rec.model].append(rec.db_id)
|
||||
|
||||
object_name_list = set(self.pool.object_name_list())
|
||||
|
||||
self.browserecord[module] = {}
|
||||
for model_name in record_ids.keys():
|
||||
if model_name not in object_name_list:
|
||||
continue
|
||||
model_obj = self.pool.get(model_name)
|
||||
self.browserecord[module][model_name] = {}
|
||||
for i in range(0, len(record_ids[model_name]), cursor.IN_MAX):
|
||||
@@ -798,6 +802,7 @@ def post_import(pool, module, to_delete):
|
||||
('module', '=', module),
|
||||
], order=[('id', 'DESC')])
|
||||
|
||||
object_name_list = set(pool.object_name_list())
|
||||
for mrec in modeldata_obj.browse(mdata_ids):
|
||||
mdata_id, model, db_id = mrec.id, mrec.model, mrec.db_id
|
||||
|
||||
@@ -847,9 +852,14 @@ def post_import(pool, module, to_delete):
|
||||
'Deleting %s@%s' % (db_id, model))
|
||||
try:
|
||||
# Deletion of the record
|
||||
model_obj = pool.get(model)
|
||||
model_obj.delete(db_id)
|
||||
mdata_delete.append(mdata_id)
|
||||
if model in object_name_list:
|
||||
model_obj = pool.get(model)
|
||||
model_obj.delete(db_id)
|
||||
mdata_delete.append(mdata_id)
|
||||
else:
|
||||
logging.getLogger("convert").warning(
|
||||
'Could not delete id %d of model %s because model no '
|
||||
'longer exists.' % (db_id, model))
|
||||
cursor.commit()
|
||||
except Exception:
|
||||
cursor.rollback()
|
||||
|
||||
Reference in new issue
Block a user