hopefully missing_objects workts with multi-model inheritance too now, lets see when it breaks

This commit is contained in:
Laura Klünder 2024-12-14 15:45:26 +00:00
parent 0f6d910eba
commit 702625e536

View file

@ -739,9 +739,10 @@ class ChangedObjectCollection(BaseSchema):
if isinstance(new_operation, CreateObjectOperation): if isinstance(new_operation, CreateObjectOperation):
# if an object was created it's no longer missing # if an object was created it's no longer missing
missing_objects = new_situation.missing_objects.get(new_operation.obj.model, {}) for mn in {new_operation.obj.model, operation_model_name}:
if new_operation.obj.id in missing_objects: missing_objects = new_situation.missing_objects.get(mn, {})
missing_objects[new_operation.obj.id] = False if new_operation.obj.id in missing_objects:
missing_objects[new_operation.obj.id] = False
if isinstance(new_operation, UpdateObjectOperation): if isinstance(new_operation, UpdateObjectOperation):
occupied_unique_values = new_situation.occupied_unique_values.get(new_operation.obj.model, {}) occupied_unique_values = new_situation.occupied_unique_values.get(new_operation.obj.model, {})
@ -767,9 +768,10 @@ class ChangedObjectCollection(BaseSchema):
if isinstance(new_operation, DeleteObjectOperation): if isinstance(new_operation, DeleteObjectOperation):
# if an object was deleted it will now be missing # if an object was deleted it will now be missing
missing_objects = new_situation.missing_objects.get(new_operation.obj.model, {}) for mn in {new_operation.obj.model, operation_model_name}:
if new_operation.obj.id in missing_objects: missing_objects = new_situation.missing_objects.get(mn, {})
missing_objects[new_operation.obj.id] = True if new_operation.obj.id in missing_objects:
missing_objects[new_operation.obj.id] = True
# all unique values it occupied will no longer be occupied # all unique values it occupied will no longer be occupied
occupied_unique_values = new_situation.occupied_unique_values.get(new_operation.obj.model, {}) occupied_unique_values = new_situation.occupied_unique_values.get(new_operation.obj.model, {})