Как вернуть последнюю запись в Django с помощью Django Rest Framework?
Я хочу вернуть самую последнюю запись, т.е. с наибольшим id. Я пробовал использовать метод last() и метод order_by, но он выдает ошибку 'object of type 'Notification' has no len()'. Ниже приведен код:
class NotificationViewSet(viewsets.ModelViewSet):
queryset = models.Notification.objects.all()
permissions_classes = [permissions.AllowAny]
serializer_class = serializers.NotificationSerializer
Это отслеживание:
Traceback:
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/paginator.py" in count 79. return self.object_list.count()
Во время обработки вышеуказанного исключения (объект "Notification" не имеет атрибута 'count') произошло другое исключение:
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner 41. response = get_response(request)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view 58. return view_func(*args, **kwargs)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework/viewsets.py" in view 86. return self.dispatch(request, *args, **kwargs)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework/views.py" in dispatch 489. response = self.handle_exception(exc)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception 449. self.raise_uncaught_exception(exc)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework/views.py" in dispatch 486. response = handler(request, *args, **kwargs)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework/mixins.py" in list 42. page = self.paginate_queryset(queryset)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework/generics.py" in paginate_queryset 173. return self.paginator.paginate_queryset(queryset, self.request, view=self)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework_datatables/pagination.py" in paginate_queryset 44. ).paginate_queryset(queryset, request, view)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/rest_framework/pagination.py" in paginate_queryset 214. self.page = paginator.page(page_number)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/paginator.py" in page 57. число = self.validate_number(число)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/paginator.py" in validate_number 46. if number > self.num_pages:
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/utils/functional.py" in get 35. res = instance.dict[self.name] = self.func(instance)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/paginator.py" in num_pages 91. if self.count == 0 and not self.allow_empty_first_page:
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/utils/functional.py" in get 35. res = instance.dict[self.name] = self.func(instance)
File "/home/crop2xlatest/.virtualenvs/mysite-virtualenv/lib/python3.6/site-packages/django/core/paginator.py" in count 84. return len(self.object_list)
Тип исключения: TypeError at /api/notification/ Значение исключения: объект типа 'Notification' не имеет len()