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)
|
title_translated = serializers.CharField(allow_null=True, read_only=True)
|
||||||
subtitle_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:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
||||||
model = models.Recipe
|
model = models.Recipe
|
||||||
fields = ('id', 'title_translated', 'subtitle_translated', 'author',
|
fields = ('id', 'title_translated', 'subtitle_translated', 'author',
|
||||||
'published_at')
|
'published_at', 'in_favorites')
|
||||||
read_only_fields = fields
|
read_only_fields = fields
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,25 @@ from recipe import models
|
||||||
from recipe.serializers import common as serializers
|
from recipe.serializers import common as serializers
|
||||||
|
|
||||||
|
|
||||||
class RecipeListView(generics.ListAPIView):
|
class RecipeViewMixin(generics.GenericAPIView):
|
||||||
"""Resource for obtaining a list of recipes."""
|
"""Recipe view mixin."""
|
||||||
|
|
||||||
pagination_class = None
|
pagination_class = None
|
||||||
permission_classes = (permissions.AllowAny,)
|
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
|
serializer_class = serializers.RecipeListSerializer
|
||||||
|
|
||||||
|
|
||||||
class RecipeDetailView(generics.RetrieveAPIView):
|
class RecipeDetailView(RecipeViewMixin, generics.RetrieveAPIView):
|
||||||
"""Resource for detailed recipe information."""
|
"""Resource for detailed recipe information."""
|
||||||
|
|
||||||
permission_classes = (permissions.AllowAny,)
|
|
||||||
queryset = models.Recipe.objects.published()
|
|
||||||
serializer_class = serializers.RecipeDetailSerializer
|
serializer_class = serializers.RecipeDetailSerializer
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user