@bituke

Как сортировать объекты по функции модели?

модель имеет связь "многие к многим", хочу отсортировать эту модель в представлении по кол-ву связанных коллекций.
class Genre(models.Model):
	'''Жанр фильма'''
	name = models.CharField(max_length=255)
	slug = models.SlugField(blank=True)

	def __str__(self):
		return self.name

	def save(self):
		self.slug = slugify(unidecode(self.name))
		super(Genre, self).save()

	def get_count_collections(self):
		collections = self.collections_genre.all().count()
		return collections

функция get_count_collections возвращает кол-во связанных объектов модели Genre, что я пытаюсь сделать:
all_genres = Genre.objects.all().order_by('get_count_collections')[:5]

что само собой не работает, нужно работающее решение. Буду благодарен за любую помощь.
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Удалить функцию и испльзовать аннотацию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы