Fix error when using tag browser if a user category contains a reference to a deleted custom column

This commit is contained in:
Kovid Goyal 2022-09-15 08:44:10 +05:30
parent ca01ac7326
commit cc19a77298
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 6 additions and 5 deletions

View File

@ -809,11 +809,11 @@ class Cache:
@read_api
def get_item_id(self, field, item_name):
' Return the item id for item_name (case-insensitive) '
' Return the item id for item_name (case-insensitive) or None if not found '
try:
rmap = {icu_lower(v) if isinstance(v, str) else v:k for k, v in iteritems(self.fields[field].table.id_map)}
except KeyError:
rmap = {}
return None
return rmap.get(icu_lower(item_name) if isinstance(item_name, str) else item_name, None)
@read_api

View File

@ -1469,6 +1469,7 @@ class TagsModel(QAbstractItemModel): # {{{
datatype = cache.field_metadata.get(key, {}).get('datatype', '*****')
if datatype != 'composite':
id_ = cache.get_item_id(key, val)
if id_ is not None:
v = cache.books_for_field(key, id_)
if v:
new_cat.append([val, key, 0])