Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. from django.shortcuts import get_object_or_404
  2. from rest_framework.views import APIView
  3. from rest_framework.response import Response
  4. from .models import StudenteCompito
  5.  
  6. from rest_framework import serializers
  7. from rest_framework import fields
  8.  
  9. class JSONTextField(fields.CharField):
  10. def from_native(self, value):
  11. try:
  12. value = json.loads(value)
  13. except ValueError:
  14. pass
  15. return super(JSONTextField, self).from_native(value)
  16.  
  17. class CompitoStudenteSerializer(serializers.Serializer):
  18. cache = JSONTextField()
  19. class Meta:
  20. model = StudenteCompito
  21. read_only_fields = ('cache',)
  22.  
  23. class Compito(APIView):
  24. """
  25. Torna tutti i risultati per singolo studente del compito
  26. """
  27. def get(self, request, compito):
  28. risultati = StudenteCompito.objects.filter(compito=compito).values('cache')
  29. serializer = CompitoStudenteSerializer(risultati, many=True)
  30. return Response(serializer.data)
  31.  
  32. class CompitoStudente(APIView):
  33. """
  34. Torna il risultato del singolo studente del compito
  35. """
  36. def get(self, request, compito, studente):
  37. compito = get_object_or_404(StudenteCompito, compito=compito, studente=studente)
  38. serializer = CompitoStudenteSerializer(compito)
  39. return Response(serializer.data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement