#django #django-rest-framework
Вопрос:
Я не могу выполнить разбиение на страницы для этого запроса get! Кто-нибудь может мне помочь, пожалуйста. Я пытаюсь сделать это в рамках Django Rest.
@api_view(["GET"])
def school_titul_list(request):
if request.method == 'GET':
try:
data = {}
user = request.user
schools = user_utils.user_schools(user)
data['warning'] = False
if user.is_superuser:
snippets = models.SchoolTitulHead.objects.filter(school__nash=True)
if 'school' in request.query_params:
snippets = snippets.filter(school_id__in=request.query_params['school'].split(','))
else:
snippets = snippets.filter(school_id__in=[])
else:
snippets = models.SchoolTitulHead.objects.filter(school__in=schools.values_list('school', flat=True),
deleted=False)
snippets = snippets.order_by('deleted',
'-year',
'klass',
'liter_id').select_related('school',
'kurator',
'kurator__portfolio')
work_places = p_models.PortfolioWorkTimeLine.objects.filter(current=True,
portfolio__deleted=False,
deleted=False,
checked=True, )
# if not request.user.is_superuser:
work_places = work_places.filter(school__in=schools.values_list('school',
flat=True))
work_places = work_places.values_list('portfolio', flat=True)
portfolios = p_models.Portfolio.objects.filter(pk__in=work_places).distinct().order_by('name_ru')
data['users'] = serializers.PortfolioSerializers(portfolios, many=True).data
data['liters'] = serializers.LiterSerializers(Liter.objects.filter(deleted=False), many=True).data
data['data'] = serializers.GetHeadSchoolTitulSerializer(snippets, many=True).data
data['languages'] = serializers.LanguageSerializer(p_models.Language.objects.filter(deleted=False),
many=True).data
data['studyDirections'] = serializers.StudyDirectionsSerializer(
StudyDirections.objects.filter(deleted=False), many=True).data
data['klasss'] = serializers.KlassSerializersID(p_models.Klass.objects.filter(deleted=False, klass_type=2),
many=True).data
data['datas'] = serializers.DateObjectsSerializer(
p_models.DateObjects.objects.filter(deleted=False, id=9).order_by('id'), many=True).data
return JsonResponse(data)
except AccessToEdit.DoesNotExist:
return JsonResponse({'errors': 'Нет доступа', 'warning': 0}, status=400)
Комментарии:
1. Не могли бы вы уточнить
can't do pagination
…?? Что вы все перепробовали…?? Вы получаете какие-либо ошибки…?? Или после применения разбиения на страницы вы не получаете ответ с разбиением на страницы…??2. @ShivendraPratapKushwaha Я не в состоянии справиться с этой проблемой. Я понятия не имею, как это решить.
3. Вместо ответа Json сделайте это, как указано в структуре django rest. Это неправильный способ создания API. В Django rest также есть документы для разбиения на страницы.