Skip to content

Instantly share code, notes, and snippets.

View esirK's full-sized avatar
🎯
Focusing

Isaiah King'ori esirK

🎯
Focusing
View GitHub Profile
class SingleArticleView(RetrieveUpdateAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
class SingleArticleView(RetrieveAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
class ArticleView(ListCreateAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
def perform_create(self, serializer):
author = get_object_or_404(Author, id=self.request.data.get('author_id'))
return serializer.save(author=author)
class ArticleView(CreateAPIView, ListAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
def perform_create(self, serializer):
author = get_object_or_404(Author, id=self.request.data.get('author_id'))
return serializer.save(author=author)
class ArticleView(ListModelMixin, CreateModelMixin, GenericAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
def perform_create(self, serializer):
author = get_object_or_404(Author, id=self.request.data.get('author_id'))
return serializer.save(author=author)
def get(self, request, *args, **kwargs):
return self.list(request, *args, *kwargs)
from rest_framework.generics import GenericAPIView
from rest_framework.mixins import ListModelMixin
from .models import Article
from .serializers import ArticleSerializer
class ArticleView(ListModelMixin, GenericAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = ('id', 'title', 'description', 'body', 'author_id')
@esirK
esirK / views.py
Last active November 20, 2018 02:37
class ArticleView(ListModelMixin, GenericAPIView):
queryset = Article.objects.all()
serializer_class = ArticleSerializer
def delete(self, request, pk):
# Get object with this pk
article = get_object_or_404(Article.objects.all(), pk=pk)
article.delete()
return Response({"message": "Article with id `{}` has been deleted.".format(pk)},status=204)
def put(self, request, pk):
saved_article = get_object_or_404(Article.objects.all(), pk=pk)
data = request.data.get('article')
serializer = ArticleSerializer(instance=saved_article, data=data, partial=True
if serializer.is_valid(raise_exception=True):
article_saved = serializer.save()
return Response({"success": "Article '{}' updated successfully".format(article_saved.title)})