{"id":3962,"library":"django-admin-inline-paginator","title":"Django Admin Inline Paginator","description":"The \"Django Admin Inline Paginator\" is a Python library designed to add pagination to inline forms within the Django administration interface. The latest version, 0.4.0, was released in April 2023. The original project is currently seeking maintainers, with development seemingly inactive, and a community-maintained fork (`django-admin-inline-paginator-plus`) has emerged to continue development and add new features.","status":"maintenance","version":"0.4.0","language":"en","source_language":"en","source_url":"https://github.com/shinneider/django-admin-inline-paginator","tags":["django","admin","paginator","inlines","pagination"],"install":[{"cmd":"pip install django-admin-inline-paginator","lang":"bash","label":"Install stable version"}],"dependencies":[{"reason":"This is a Django admin extension, requiring Django as a peer dependency.","package":"Django","optional":false}],"imports":[{"note":"Used for paginating tabular inlines.","symbol":"TabularInlinePaginated","correct":"from django_admin_inline_paginator.admin import TabularInlinePaginated"},{"note":"Used for paginating stacked inlines. Less commonly featured in basic examples, but available.","symbol":"StackedInlinePaginated","correct":"from django_admin_inline_paginator.admin import StackedInlinePaginated"}],"quickstart":{"code":"from django.contrib import admin\nfrom django.db import models\n\n# Assuming you have a model named `YourModel` and another `ModelWithFK`\n# linked by a ForeignKey from ModelWithFK to YourModel.\n# Example Models:\n# class YourModel(models.Model):\n#     name = models.CharField(max_length=100)\n\n# class ModelWithFK(models.Model):\n#     your_model = models.ForeignKey(YourModel, on_delete=models.CASCADE)\n#     name = models.CharField(max_length=100)\n\n# 1. Add 'django_admin_inline_paginator' to INSTALLED_APPS in settings.py\n# INSTALLED_APPS = [\n#     ...,\n#     'django_admin_inline_paginator',\n#     ...\n# ]\n\n# 2. Create your model inline using TabularInlinePaginated\nfrom django_admin_inline_paginator.admin import TabularInlinePaginated\n\nclass ModelWithFKAdminInline(TabularInlinePaginated):\n    model = 'ModelWithFK' # Replace with your actual FK model\n    fields = ('name',)\n    per_page = 5 # Number of items per page\n    # pagination_key = 'page-model' # Optional: required for multiple paginated inlines\n\n# 3. Register your main model admin and use the inline\n@admin.register('YourModel') # Replace with your actual main model\nclass YourModelAdmin(admin.ModelAdmin):\n    model = 'YourModel'\n    fields = ('name',)\n    inlines = (ModelWithFKAdminInline,)","lang":"python","description":"To quickly integrate inline pagination, add `django_admin_inline_paginator` to your `INSTALLED_APPS`. Then, define your inline admin classes by inheriting from `TabularInlinePaginated` or `StackedInlinePaginated` and set the `per_page` attribute. Finally, include these paginated inlines in your main `ModelAdmin`."},"warnings":[{"fix":"Consider migrating to `django-admin-inline-paginator-plus` (pip install django-admin-inline-paginator-plus) for active development and new features.","message":"The original `django-admin-inline-paginator` project is no longer actively maintained by its original author, who is looking for new maintainers. Its last release was in April 2023. An actively maintained fork, `django-admin-inline-paginator-plus`, exists and offers new features, including AJAX pagination and broader compatibility with modern Django and Python versions. Users should consider using the `plus` fork for ongoing support and new features.","severity":"breaking","affected_versions":"<=0.4.0"},{"fix":"Ensure your Django and Python versions are compatible with the last release of this package (0.4.0, Python >=3.3). For modern Django/Python, the `django-admin-inline-paginator-plus` fork is recommended as it explicitly supports newer Django versions and Python >=3.8.","message":"The `django-admin-inline-paginator` package was last updated in April 2023 and officially requires Python >=3.3. However, newer versions of Django (e.g., Django 4.x, 5.x) require Python 3.8+ or higher. Using this original package with recent Django versions may lead to compatibility issues or unexpected behavior due to API changes over time.","severity":"gotcha","affected_versions":"<=0.4.0"},{"fix":"If AJAX pagination is a requirement for a smoother user experience, use the `django-admin-inline-paginator-plus` fork, which explicitly adds AJAX support.","message":"The `django-admin-inline-paginator` library implements pagination by reloading the entire admin page for each page navigation, which can impact user experience, especially with many inlines or slow connections. It does not support AJAX-based pagination.","severity":"gotcha","affected_versions":"<=0.4.0"},{"fix":"If you encounter \"TooManyFieldsSent\" errors, you may need to increase the `DATA_UPLOAD_MAX_NUMBER_FIELDS` setting in your Django project's `settings.py` file. Be mindful of potential security implications when increasing this value excessively.","message":"When dealing with a very large number of inline fields (even if paginated), Django's `DATA_UPLOAD_MAX_NUMBER_FIELDS` setting might be exceeded during form submission, leading to \"TooManyFieldsSent\" errors. This is a Django core limitation, but relevant when using inline pagination.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}