В бд всё нормально, там дубликатов нет.
Есть автор, есть адресат, например, a и b
Диалог у обоих показывается, если один пишет другому и не важно кто именно и кому
Но вот проблема возникает, когда сообщений более двух и я могу быть и автором и адресатом - в обоих случаях нужно отобразить
другого пользователя.
А ещё их как-то надо объединять в одну ссылку. Самый простой вариант - ifchanged в шаблоне. Он работает, но имеет один существенный недостаток: если добавить иконки прочтения/не прочтения сообщений в диалоге (что-то вроде нового сообщения), то тег перестаёт работать и у тебя появляются дубликаты сообщений.
Я вернулся к тому, с чего начал:
dialog_data = self.model.objects.filter(Q(author=user_id) | Q(addressee=user_id))
Я получаю список всех строк из таблицы, где мой user_id торчит в качестве автора или же в качестве адресата. И вот тут я и застрял, и дрочу, простите за выражения, эти списки, чтобы найти лаконичное решение и удалить дубликаты