Merge branch 'feature/recipe' into develop

This commit is contained in:
evgeniy-st 2019-09-19 14:56:26 +03:00
commit c85ec699f0
2 changed files with 15 additions and 7 deletions

View File

@ -8,13 +8,14 @@ class RecipeListSerializer(serializers.ModelSerializer):
title_translated = serializers.CharField(allow_null=True, read_only=True)
subtitle_translated = serializers.CharField(allow_null=True, read_only=True)
in_favorites = serializers.BooleanField()
class Meta:
"""Meta class."""
model = models.Recipe
fields = ('id', 'title_translated', 'subtitle_translated', 'author',
'published_at')
'published_at', 'in_favorites')
read_only_fields = fields

View File

@ -4,18 +4,25 @@ from recipe import models
from recipe.serializers import common as serializers
class RecipeListView(generics.ListAPIView):
"""Resource for obtaining a list of recipes."""
class RecipeViewMixin(generics.GenericAPIView):
"""Recipe view mixin."""
pagination_class = None
permission_classes = (permissions.AllowAny,)
queryset = models.Recipe.objects.published()
def get_queryset(self):
user = self.request.user
qs = models.Recipe.objects.published().annotate_in_favorites(user)
return qs
class RecipeListView(RecipeViewMixin, generics.ListAPIView):
"""Resource for obtaining a list of recipes."""
serializer_class = serializers.RecipeListSerializer
class RecipeDetailView(generics.RetrieveAPIView):
class RecipeDetailView(RecipeViewMixin, generics.RetrieveAPIView):
"""Resource for detailed recipe information."""
permission_classes = (permissions.AllowAny,)
queryset = models.Recipe.objects.published()
serializer_class = serializers.RecipeDetailSerializer