Compare commits

..

No commits in common. "5c83230185ae8f1220fce2df4990ef028222a99a" and "548cc478b9629105780dafaf0efe64669863049f" have entirely different histories.

2 changed files with 7 additions and 28 deletions

View file

@ -28,18 +28,9 @@ class MovieSerializer(serializers.ModelSerializer):
def get_has_been_scheduled(self, obj):
return Showing.objects.filter(movie_id=obj.id).exists()
class MovieListListSerializer(serializers.ModelSerializer):
movie_count = serializers.SerializerMethodField()
class Meta:
model = MovieList
fields = ["id", "name", "owner", "public", "movie_count"]
def get_movie_count(self, obj):
return obj.movies.count()
class MovieListSerializer(serializers.ModelSerializer):
movie_count = serializers.SerializerMethodField()
movies = MovieSerializer(read_only=True, many=True)
serializer_class = MovieSerializer
@ -51,8 +42,10 @@ class MovieListSerializer(serializers.ModelSerializer):
class Meta:
model = MovieList
fields = ["id", "name", "owner", "public", "movies"]
fields = ["id", "name", "owner", "public", "movies", "movie_count"]
def get_movie_count(self, obj):
return obj.movies.count()
class UserSerializer(serializers.Serializer):

View file

@ -16,7 +16,7 @@ from movie_manager.serializers import (
MovieListSerializer,
MovieSerializer,
ScheduleSerializer,
ShowingSerializer, MovieListListSerializer,
ShowingSerializer,
)
@ -55,25 +55,11 @@ class MovieViewset(viewsets.ModelViewSet):
class MovieListViewset(viewsets.ModelViewSet):
queryset = MovieList.objects.all()
queryset = MovieList.objects.prefetch_related("movies").order_by("name")
authentication_classes = [TokenAuthentication]
permission_classes = [permissions.IsAuthenticated | ReadOnly]
def get_serializer_class(self):
if self.action == "list":
return MovieListListSerializer
else:
return MovieListSerializer
def get_queryset(self):
if self.action == "list":
return MovieList.objects.filter(owner=self.request.user)
else:
return MovieList.objects.prefetch_related(
"movies",
"movies__showing_set"
).order_by("name")
serializer_class = MovieListSerializer
def create(self, request, *args, **kwargs):
movie_list = MovieList.objects.create(