diff --git a/openpype/tools/project_manager/project_manager/model.py b/openpype/tools/project_manager/project_manager/model.py index 7907966951..e6344fc5dc 100644 --- a/openpype/tools/project_manager/project_manager/model.py +++ b/openpype/tools/project_manager/project_manager/model.py @@ -279,7 +279,6 @@ class HierarchyModel(QtCore.QAbstractItemModel): "type": "asset" } new_child = AssetItem(data) - self._asset_items_by_name[name].append(new_child) result = self.add_item(new_child, parent, new_row) @@ -322,6 +321,10 @@ class HierarchyModel(QtCore.QAbstractItemModel): parent.add_child(item, row) + if isinstance(item, AssetItem): + name = item.data("name", QtCore.Qt.DisplayRole) + self._asset_items_by_name[name].append(item) + if item.id not in self._items_by_id: self._items_by_id[item.id] = item @@ -387,6 +390,9 @@ class HierarchyModel(QtCore.QAbstractItemModel): return prev_name = asset_item.data("name", QtCore.Qt.DisplayRole) + if prev_name == new_name: + return + self._asset_items_by_name[prev_name].remove(asset_item) self._validate_asset_duplicity(prev_name)