Skip to content

Instantly share code, notes, and snippets.

View akshar-raaj's full-sized avatar
💭
Learning something new everyday!

Akshar Raaj akshar-raaj

💭
Learning something new everyday!
View GitHub Profile
import datetime
from django.db import models
from django.utils import timezone
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published', null=True)
author = models.CharField(max_length=200, null=True)
@akshar-raaj
akshar-raaj / views.py
Created July 7, 2019 19:32
APIView with filter
from rest_framework import filters
class QuestionsAPIView(generics.ListCreateAPIView):
search_fields = ['question_text']
filter_backends = (filters.SearchFilter,)
queryset = Question.objects.all()
serializer_class = QuestionSerializer
@akshar-raaj
akshar-raaj / urls.py
Created July 7, 2019 19:21
Search urlpattern
urlpatterns = [
path('questions/', views.QuestionsAPIView.as_view())
]
@akshar-raaj
akshar-raaj / views.py
Created July 7, 2019 19:21
Search view
from rest_framework import generics
from .models import Question
from .serializers import QuestionSerializer
class QuestionsAPIView(generics.ListCreateAPIView):
queryset = Question.objects.all()
serializer_class = QuestionSerializer
@akshar-raaj
akshar-raaj / serializers.py
Created July 7, 2019 19:20
Search serializer
class QuestionSerializer(serializers.ModelSerializer):
class Meta:
model = Question
fields = '__all__'
@akshar-raaj
akshar-raaj / models.py
Created July 7, 2019 19:18
Search models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published', null=True)
author = models.CharField(max_length=200, null=True)
def __str__(self):
return self.question_text
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
if serializer.is_valid():
question = serializer.save()
serializer = QuestionSerializer(question)
return Response(serializer.data, status=status.HTTP_201_CREATED) # We removed the hardcoded "Question created with id %s".
elif request.method == 'DELETE':
question.delete()
return Response("Question deleted", status=status.HTTP_204_NO_CONTENT)
path('questions/<int:question_id>/choices/', apiviews.choices_view, name='choices_view')
path('questions/<int:question_id>/', apiviews.question_detail_view, name='question_detail_view')