Фильтрация тегов в M2M Field Django

У меня есть мои модели

Class Category((models.Model)
    category = models.CharField()

class Group(models.Model)
    Title = models.CharField()
    category = models.ManyToManyField(Category, related_name= tags)

Я хочу иметь возможность фильтровать все группы с тегами, схожими с тегами группы, которая в данный момент находится в просмотре

В моем файле views.py я попытался

group = Group.objects.get(id=pk)
groups = Group.objects.filter(category=group.category)

Но это не работает

Вы можете получить все группы, которые имеют как минимум одну Category общую с:

Group.objects.filter(category__in=group.category.all()).distinct()

Вызов .distinct() [Django-doc] предотвращает перечисление Group столько раз, сколько существует подходящих categorys.

Другой вариант - использовать отношение в обратном порядке, и таким образом работать с:

Group.objects.filter(category__tags=group).distinct()

Однако имя отношения не имеет особого смысла: параметр related_name=… [Django-doc] - это имя отношения в обратном порядке, related_name='groups' поэтому имеет больше смысла. В этом случае мы запрашиваем с:

Group.objects.filter(category__groups=group).distinct()
Вернуться на верх