Я использую iterator.groupby для группировки похожих записей в итераторе на основе значения атрибута, такого как:
employment = dict(itertools.groupby(xtable_iterator), operator.attrgetter('key_to_ytable')))
key_to_ytable - это атрибут, который может вызвать исключение.Итак, весь мой конструктор dict терпит неудачу.Я хотел бы просто пропустить записи, для которых доступ к атрибуту key_to_ytable вызывает исключение, и обработать оставшиеся записи с помощью groupby.
Какие у меня есть альтернативы?
1. Наследовать от групповых и переопределенных функций ИЛИ написать свою собственную групповую
2. Использовать собственный attrgetter, который возвращает None при исключении, а затем отфильтровать Nones
3. Любое другое решение?
Некоторые предыстории: у меня есть библиотека, которая инкапсулирует таблицу базы данных в качестве итератора объекта записи.Атрибутами этого объекта записи являются столбцы.В случае внешнего ключа библиотека ищет соответствующую таблицу и выбирает значение в качестве значения атрибута.К сожалению, таблицы не гарантированно синхронизируются.Таким образом, внешний ключ может ссылаться на несуществующую запись, и в этом случае библиотека выдает исключение.