Merge branch 'feature/recipe' into develop
This commit is contained in:
commit
c85ec699f0
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user