2016-02-11 4 views
1

после урока я сделал 2 раза bfore и теперь пагинация не работает я получаю следующую ошибкуДжанго пагинация не работает

TypeError at /posts/ 
object of type 'method' has no len() 
Request Method: GET 
Request URL: http://127.0.0.1:8000/posts/ 
Django Version: 1.9.2 
Exception Type: TypeError 
Exception Value:  
object of type 'method' has no len() 
Exception Location: /Users/ray/Desktop/uply/my-server/lib/python3.5/site- packages/django/core/paginator.py in _get_count, line 77 
Python Executable: /Users/ray/Desktop/uply/my-server/bin/python 
Python Version: 3.5.1 
Python Path:  
['/Users/ray/Desktop/uply/my-server/src', 
'/Users/ray/Desktop/uply/my-server/lib/python35.zip', 
'/Users/ray/Desktop/uply/my-server/lib/python3.5', 
'/Users/ray/Desktop/uply/my-server/lib/python3.5/plat-darwin', 
'/Users/ray/Desktop/uply/my-server/lib/python3.5/lib-dynload', 
'/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', 
'/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', 
'/Users/ray/Desktop/uply/my-server/lib/python3.5/site-packages'] 
Server time: Wed, 10 Feb 2016 23:25:54 -0500 

это мой код в моем views.py

def post_list(request): 
    queryset_list = Post.objects.all 
    paginator = Paginator(queryset_list, 25) 

    page = request.GET.get('page') 
    try: 
    queryset = paginator.page(page) 
    except PageNotAnInteger: 
    queryset = paginator.page(1) 
    except EmptyPage: 
    queryset = paginator.page(paginator.num_pages) 

    template = "posts/post_list.html" 
    name = "user" 
    context = { 
    "object_list": queryset, 
    "name": name 
    } 
    return render(request, template, context) 

Я сделал это и варианты этого учебника все за последние два месяца, используя ту же самую последнюю версию django и pyhthon. Что происходит? Как это может быть проблемой Объект типа 'method' не имеет len()

, когда я это делал раньше? вся помощь приветствуется.

ответ

1

all является метод:

queryset_list = Post.objects.all() 
+0

Благодаря @nima. починил это. Это было – losee

0

Изменить Post.objects.all к Post.objects.all()

def post_list(request): 
    queryset_list = Post.objects.all() 
    paginator = Paginator(queryset_list, 25) 

    page = request.GET.get('page') 
    try: 
    queryset = paginator.page(page) 
    except PageNotAnInteger: 
    queryset = paginator.page(1) 
    except EmptyPage: 
    queryset = paginator.page(paginator.num_pages) 

    template = "posts/post_list.html" 
    name = "user" 
    context = { 
    "object_list": queryset, 
    "name": name 
    } 
    return render(request, template, context)