#django
#django
Вопрос:
Я добавляю разбивку на страницы в django, она выдает ошибку «объект типа ‘method’ не имеет функции len()»
allCategoryValue = category.objects.all
paginators = Paginator(allCategoryValue, 3)
pages = request.GET.get('abc')
try:
allCategory = paginators.page(pages)
except PageNotAnInteger:
allCategory = paginators.page(1)
except EmptyPage:
allCategory = paginators.page(paginator.num_pages)
context = {'allCategory':allCategory}
return render(request,'addCategory.html',context)
Комментарии:
1. all() — это метод .. вызовите его, и он должен сработать
Ответ №1:
category.objects.all
Это метод. Итак, вместо записи
allCategoryValue = category.objects.all
Вы должны написать
allCategoryValue = category.objects.all()
Теперь он вызывает метод и возвращает ожидаемые результаты.
Комментарии:
1. Это решило мою проблему, спасибо! Перед внедрением разбивки на страницы он также принимал allCategoryValue = category.objects.all . Почему?
2. вы назначали метод
category.objects.all
. Это не то поведение, которое вы хотели, но оно синтаксически правильное. Поскольку этот ответ решает вашу проблему, не стесняйтесь пометить его как решение3. на самом деле я не тот, кто задал вопрос, но все равно спасибо 🙂