Guest User

Untitled

a guest
Dec 19th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. File "/Users/bjacobel/.virtualenvs/hey/lib/python2.7/site-packages/rest_framework/fields.py", line 375, in to_representation
  2. raise NotImplementedError('to_representation() must be implemented.')
  3.  
  4. from django.contrib.auth.models import User
  5. from rest_framework import serializers
  6.  
  7. class UserSerializer(serializers.ModelSerializer):
  8. class Meta:
  9. model = User
  10. fields = ('id', 'first_name', 'last_name', 'email', 'username')
  11.  
  12. from django.contrib.auth.models import User
  13. from hey.apps.api import serializers
  14. from rest_framework import viewsets, permissions, filters
  15.  
  16. class User(viewsets.ModelViewSet):
  17. queryset = User.objects.all()
  18. serializer_class = serializers.UserSerializer
  19. permission_classes = (permissions.IsAuthenticated,)
  20. filter_backends = (filters.OrderingFilter,)
  21.  
  22. from django.conf.urls import patterns, url, include
  23. from hey.apps.api import views
  24. from rest_framework.routers import SimpleRouter
  25.  
  26. router = SimpleRouter()
  27.  
  28.  
  29. router.register(r'user', views.User)
  30.  
  31. urlpatterns = patterns('',
  32. url(r'^', include(router.urls)),
  33. )
  34.  
  35. from rest_framework import pagination
  36. from rest_framework import serializers
  37.  
  38. class LinksSerializer(serializers.Serializer):
  39. next = pagination.NextPageField(source='*')
  40. prev = pagination.PreviousPageField(source='*')
  41.  
  42. class CustomPaginationSerializer(pagination.BasePaginationSerializer):
  43. links = LinksSerializer(source='*') # Takes the page object as the source
  44. total_results = serializers.Field(source='paginator.count')
  45.  
  46. results_field = 'objects'
  47.  
  48. REST_FRAMEWORK = {
  49. 'DEFAULT_PAGINATION_SERIALIZER_CLASS': 'hey.apps.api.pagination.CustomPaginationSerializer',
  50. 'PAGINATE_BY': 20, # Default to 20
  51. 'PAGINATE_BY_PARAM': 'limit', # Allow client to override, using `?limit=xxx`.
  52. 'MAX_PAGINATE_BY': 100, # Maximum limit allowed when using `?limit=xxx`.
  53. 'TEST_REQUEST_DEFAULT_FORMAT': 'json',
  54. 'DEFAULT_AUTHENTICATION_CLASSES': (
  55. 'rest_framework.authentication.BasicAuthentication',
  56. 'rest_framework.authentication.TokenAuthentication',
  57. 'rest_framework.authentication.SessionAuthentication',
  58. )
  59. }
  60.  
  61. class CustomPaginationSerializer(pagination.BasePaginationSerializer):
  62. links = LinksSerializer(source='*') # Takes the page object as the source
  63. total_results = serializers.ReadOnlyField(source='paginator.count')
  64.  
  65. results_field = 'objects'
Add Comment
Please, Sign In to add comment