django-admin-cursor-paginator icon indicating copy to clipboard operation
django-admin-cursor-paginator copied to clipboard

Getting error 'AdminCursorPaginator' object has no attribute 'get_elided_page_range'

Open danaki opened this issue 3 years ago • 1 comments

class PostingAdmin(CursorPaginatorAdmin):
    cursor_ordering_field = '-posting_id'
    list_display = (
        'posting_id',
...
    )
INSTALLED_APPS = [
    'grappelli',
    'backend',
    'auditlog',
    'etc',
    'smart_selects',
    'django_extensions',
    'django.contrib.admin',
    'admin_cursor_paginator',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

danaki avatar Apr 25 '22 22:04 danaki

Hello. I suppose it happens because of grapelli. This method is not called from custom template tag in change_list.html:

{% block pagination %}{% admin_cursor_pagination cl %}{% endblock %}

a1tus avatar May 04 '22 11:05 a1tus

It is produced by this line:

page_range = cl.paginator.get_elided_page_range(cl.page_num) if pagination_required else [] 

django/contrib/admin/templatetags/admin_list.py, line 51

where cl is

<admin_cursor_paginator.views.CursorPaginatorChangeList object at 0x11017fa60>

danaki avatar Aug 12 '22 15:08 danaki

Modifying template this way fixes the error for grappelli:

{% extends 'admin/change_list.html' %}

{% load admin_cursor_paginator_tags %}

{% block pagination_top %}
{% admin_cursor_pagination cl %}
{% endblock %}

{% block pagination_bottom %}
{% admin_cursor_pagination cl %}
{% endblock %}

{% block pagination %}{% admin_cursor_pagination cl %}{% endblock %}

I'll try to override it locally.

danaki avatar Aug 12 '22 16:08 danaki