J'ai une tâche simple. Il y a deux modèlesGrouper par manytomany fields à Django
class Song(models.Model):
song_title = models.CharField(max_length=200)
song_genres = models.ManyToManyField(Genres, null=True, related_name='genres')
...
class Genre(models.Model):
genre_title = models.CharField(max_length=50)
genre_uri = models.SlugField(max_length=100, unique=True, blank=True)
...
J'ai besoin d'obtenir la liste des balises les plus populaires avec le nombre de chansons. Par exemple:
[{<Genres: Pop>, 20}, {<Genres: Rap>, 15} ...]
Pour clé étrangère je peux utiliser
Song.objects.annotate(count=Count('song_genres')).order_by('-count')[:5]
mais il ne fonctionne pas avec les champs de ManyToMany. Toute aide serait très appréciée.
votre nom associé devrait être «chansons» et non «genres» comme pour interroger de genre en chanson. –