Сортировка по количеству в связанном поле в Django
-
23-09-2019 - |
Вопрос
У меня есть две модели, Image
и Tag
.С каждым объектом изображения может быть связано несколько тегов, и я хочу найти наиболее часто используемые теги.Как бы мне это сделать?Кажется, это достаточно просто, но я не могу в этом разобраться.
Решение
Django (только недавно) приобрел поддержку Aggregate, поэтому теперь вы можете сделать что-то вроде этого:
from django.db.models import Count
Tag.objects.annotate(img_count=Count('image')).order_by('img_count')
Не связан с StackOverflow