Сортировка queryset django по заполнению поля m2m

Имеется следующая модель в django (есть еще множество полей, но сортировку необходимо делать по этому полю):

class Tag(models.Model):
    """Модель тегов для резюме (избранное и т.п.)"""

    name = models.CharField("Тег", max_length=255)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = "Тэг"
        verbose_name_plural = "Теги"

class Resume(models.Model):
    ...
    tag = models.ManyToManyField(
        "Tag",
        verbose_name="Теги",
        blank=True,
    )
    ...

    class Meta:
        verbose_name = "Резюме (новое)"
        verbose_name_plural = "Резюме (новые)"
        ordering = ["updated_at", "area", "age"]

У некоторых экземпляров данной модели заполнено это отношением m2m. У кого-то есть один тег, у кого-то несколько. У некоторых моделей нет тегов вообще. Требуется получить queryset из всех экземпляров модели резюме, но чтобы он был отсортирован следующим образом: сначала идут те резюме, у которых есть теги (внутри этой группы сортировка не важна), потом идут все остальные экземпляры, отсортированные по условиям мета-класса. Пробовал делать так:

class Meta:
        verbose_name = "Резюме (новое)"
        verbose_name_plural = "Резюме (новые)"
        ordering = ["tag__name", "updated_at", "area", "age"]

но таким образом в queryset попадает одно и то же резюме столько раз, сколько тегов ему присвоено. А требуется, чтобы в queryset были только уникальные объекты. Сам queryset получаю следующим образом:

Resume.objects.filter(recruiter=request.user)
        .select_related("area", "area__parent_city", "source")
        .prefetch_related(
            "skill_set",
            "driver_license_types",
            "professional_roles",
            "professional_roles__category",
            "recruiter",
            "recruiter__position_worker",
            "recruiter__groups",
            "tag",
        )

Ответы (0 шт):