- en
- Language: ru
- Documentation version: 2.0
5. Как сделать сортировку по аннотированному (вычисляемому) полю?
У вас есть две модели, Category
и Hero
.
class Category(models.Model):
name = models.CharField(max_length=100)
class Hero(models.Model):
# ...
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
Вы хотите получить Category
, упорядоченные по количеству Hero
в них. Вы можете сделать это.
Category.objects.annotate(
hero_count=Count("hero")
).order_by(
"-hero_count"
)