django-admin-inline-paginator-plus 0.1.1

Creator: danarutscher

Last updated:

Add to Cart

Description:

djangoadmininlinepaginatorplus 0.1.1

Django Admin Inline Paginator Plus ⏩
🍴 This is a forked and updated version based on original library django-admin-inline-paginator.

As for 10.07.2024 nobody took responsibility, so I decided to take it since we need additional functionlity like AJAX for pagination.

The "Django Admin Inline Paginator Plus" is simple way to paginate your inline in django admin
To keep Django ecosystem fresh and updated, please share your love and support, click Star 🫶
Features

Easy Inline Pagination: Quickly paginate inlines in the Django admin.
AJAX Support: Smooth and dynamic pagination without page reloads with htmx.
Multiple Inline Pagination: Manage multiple paginated inlines seamlessly.

Here's a screenshot of the paginated inlines in action:

Install:
Install the package via pip:
pip install django-admin-inline-paginator-plus

Usage:


Add to your INSTALLED_APPS, in settings.py:
INSTALLED_APPS = [
...
'django_admin_inline_paginator_plus',
...
]



Create your model inline:
You can use TabularInlinePaginated ot StackedInlinePaginated. In our example we use TabularInlinePaginated.
from django_admin_inline_paginator_plus.admin import TabularInlinePaginated

class ModelWithFKAdminInline(TabularInlinePaginated):
model = ModelWithFK
fields = (...)
per_page = 5



Create main model admin and use inline:
@register(YourModel)
class YourModelAdmin(ModelAdmin):
model = YourModel
fields = (...)
inlines = (ModelWithFKAdminInline, )



Advanced Usage:


Paginate multiples inlines:
from django_admin_inline_paginator_plus.admin import TabularInlinePaginated, StackedInlinePaginated

class ModelWithFKInline(TabularInlinePaginated):
model = ModelWithFK
fields = ('name', 'active')
per_page = 2
pagination_key = 'page-model' # make sure it's unique for page inline

class AnotherModelWithFKInline(StackedInlinePaginated):
model = AnotherModelWithFK
fields = ('name', 'active')
per_page = 2
pagination_key = 'page-another-model' # make sure it's unique for page inline



Use inlines from step 1. and add to your main model admin:
@register(YourModel)
class YourModelAdmin(ModelAdmin):
model = YourModel
fields = (...)
inlines = (ModelWithFKAdminInline, AnotherModelWithFKInline)

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.