diff --git a/api/funkwhale_api/subsonic/serializers.py b/api/funkwhale_api/subsonic/serializers.py index 276586f78..edd55610b 100644 --- a/api/funkwhale_api/subsonic/serializers.py +++ b/api/funkwhale_api/subsonic/serializers.py @@ -149,7 +149,7 @@ def get_album2_data(album): "artist": album.artist.name, "created": to_subsonic_date(album.creation_date), "duration": album.tracks.aggregate(d=Sum("uploads__duration"))["d"] or 0, - "playCount": album.tracks.aggregate(c=Sum("downloads_count"))["c"] or 0, + "playCount": album.tracks.aggregate(l=Count("listenings"))["l"] or 0, } if album.attachment_cover_id: payload["coverArt"] = "al-{}".format(album.id) diff --git a/api/tests/subsonic/test_serializers.py b/api/tests/subsonic/test_serializers.py index 9106c8a19..f2025ca2c 100644 --- a/api/tests/subsonic/test_serializers.py +++ b/api/tests/subsonic/test_serializers.py @@ -1,6 +1,6 @@ import datetime -from django.db.models.aggregates import Sum +from django.db.models.aggregates import Count, Sum import pytest from funkwhale_api.music import models as music_models @@ -186,7 +186,7 @@ def test_get_album_serializer(factories): "coverArt": "al-{}".format(album.id), "genre": tagged_item.tag.name, "duration": album.tracks.aggregate(d=Sum("uploads__duration"))["d"] or 0, - "playCount": album.tracks.aggregate(c=Sum("downloads_count"))["c"] or 0, + "playCount": album.tracks.aggregate(l=Count("listenings"))["l"] or 0, "song": [ { "id": track.pk,