Compare commits
No commits in common. "5c83230185ae8f1220fce2df4990ef028222a99a" and "548cc478b9629105780dafaf0efe64669863049f" have entirely different histories.
5c83230185
...
548cc478b9
2 changed files with 7 additions and 28 deletions
|
@ -28,18 +28,9 @@ class MovieSerializer(serializers.ModelSerializer):
|
||||||
def get_has_been_scheduled(self, obj):
|
def get_has_been_scheduled(self, obj):
|
||||||
return Showing.objects.filter(movie_id=obj.id).exists()
|
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):
|
class MovieListSerializer(serializers.ModelSerializer):
|
||||||
|
movie_count = serializers.SerializerMethodField()
|
||||||
movies = MovieSerializer(read_only=True, many=True)
|
movies = MovieSerializer(read_only=True, many=True)
|
||||||
serializer_class = MovieSerializer
|
serializer_class = MovieSerializer
|
||||||
|
|
||||||
|
@ -51,8 +42,10 @@ class MovieListSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = MovieList
|
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):
|
class UserSerializer(serializers.Serializer):
|
||||||
|
|
|
@ -16,7 +16,7 @@ from movie_manager.serializers import (
|
||||||
MovieListSerializer,
|
MovieListSerializer,
|
||||||
MovieSerializer,
|
MovieSerializer,
|
||||||
ScheduleSerializer,
|
ScheduleSerializer,
|
||||||
ShowingSerializer, MovieListListSerializer,
|
ShowingSerializer,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,25 +55,11 @@ class MovieViewset(viewsets.ModelViewSet):
|
||||||
|
|
||||||
|
|
||||||
class MovieListViewset(viewsets.ModelViewSet):
|
class MovieListViewset(viewsets.ModelViewSet):
|
||||||
queryset = MovieList.objects.all()
|
queryset = MovieList.objects.prefetch_related("movies").order_by("name")
|
||||||
authentication_classes = [TokenAuthentication]
|
authentication_classes = [TokenAuthentication]
|
||||||
permission_classes = [permissions.IsAuthenticated | ReadOnly]
|
permission_classes = [permissions.IsAuthenticated | ReadOnly]
|
||||||
|
|
||||||
def get_serializer_class(self):
|
serializer_class = MovieListSerializer
|
||||||
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")
|
|
||||||
|
|
||||||
|
|
||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
movie_list = MovieList.objects.create(
|
movie_list = MovieList.objects.create(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue