2
我有一個簡單的任務。有兩種模式在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)
...
我需要獲得最受歡迎的標籤列表與歌曲的數量。例如:
[{<Genres: Pop>, 20}, {<Genres: Rap>, 15} ...]
對於外鍵,我可以使用
Song.objects.annotate(count=Count('song_genres')).order_by('-count')[:5]
,但它不具有多對多下地幹活。任何幫助將非常感激。
您的相關名稱應該是'歌曲'而不是'流派',因爲它可以從流派查詢到歌曲。 –