LINUX.ORG.RU

Qt5+Python3, грид, концепция дедупликатора

 , ,


0

1

Проектирую пользовательский интерфейс для своей настольной программы. Уперся в то, как бы лучше сделать дедупликатор. Дело в том, что один из столбцов таблицы (грида) содержит значения, которые могут быть одинаковыми, и их надо как-то отмечать для группировки или возможно исключения таких повторов. Они могут быть и очень сильно похожими, и тогда их надо вылавливать вручную. Очевидно, отношение многие ко многим. Надо сделать по уму, и например CRUD тут не подходит. Строки таблицы можно метить галочками.

Кнопки, которые мне пришли на ум: найти все по метке, новая метка, обновить в БД, снять метку, ну и соответственно традиционные ОК и Отмена для сохранения или отмены изменений.

Какие бы кнопки редактора вы на моем месте предусмотрели, чтобы наводить порядок в данных в пределах моей таблицы? Может надо хранить ID или хэши полей, которые дублируются, в отдельной служебной таблице и делать ссылки на нее из основной таблицы, подлежащей редактированию?

Если есть на примете теория, буду благодарен на указание источника, который надо почитать.

★★★★★

Для каждой записи кнопочка «найти дубликаты». По нажатию активируешь фильтр, разыскивающий дубликаты по расстоянию Левенштейна. С фильтром включаешь две колонки: первая с переключателем, которым выбирается главная запись (с которой сольются остальные), вторая с галками, которыми выбираются записи подлежащие слиянию. И перенос данных из ячейку в ячейку драгндропом сделай, на случай, если надо объединить данные из разных записей. Трактористы без драгндропа обойдутся копипастом.

xvostostrel ()