diff --git a/apps/aquatics/serializers_aquarium.py b/apps/aquatics/serializers_aquarium.py index f7021e4..6589265 100644 --- a/apps/aquatics/serializers_aquarium.py +++ b/apps/aquatics/serializers_aquarium.py @@ -1,6 +1,7 @@ #aqutatics/serializers_aquarium.py from rest_framework import serializers from apps.aquatics.models import Aquarium, ContributionFish, OwnBackground +from apps.items.models import Background class AquariumFishSerializer(serializers.ModelSerializer): @@ -67,7 +68,16 @@ def get_background(self, obj): return None +class BackgroundSerializerForAquarium(serializers.ModelSerializer): + """Background 모델을 직렬화하는 nested serializer""" + class Meta: + model = Background + fields = ["id", "name", "code"] # Background 모델에는 svg_template이 없음 + + class AquariumBackgroundSerializer(serializers.ModelSerializer): + background = BackgroundSerializerForAquarium(read_only=True) + class Meta: model = OwnBackground fields = ["id", "background", "unlocked_at"] diff --git a/apps/aquatics/views_fishtank.py b/apps/aquatics/views_fishtank.py index efad6bc..ebb1cfa 100644 --- a/apps/aquatics/views_fishtank.py +++ b/apps/aquatics/views_fishtank.py @@ -75,8 +75,8 @@ class FishtankBackgroundListView(APIView): ) def get(self, request): owned = OwnBackground.objects.filter(user=request.user) - backgrounds = [ob.background for ob in owned] - serializer = AquariumBackgroundSerializer(backgrounds, many=True) + # AquariumBackgroundSerializer는 OwnBackground를 직렬화하므로 owned를 직접 사용 + serializer = AquariumBackgroundSerializer(owned, many=True) return Response(serializer.data, status=200)