django-nested-admin is a project that makes it possible to nest admin inlines (that is, to define inlines on InlineModelAdmin classes). compatible with Django 1.4-1.9 and Python versions 2.7 and 3.4. It works with and without Grappelli. When Grappelli is not installed it adds Grappelli-like drag-and-drop sorting functionality to Django inlines.
The recommended way to install django-nested-admin is from PyPI:
pip install django-nested-admin
Alternatively, one can install a development copy of django-nested-admin from source:
pip install -e git+git://github.com/theatlantic/django-nested-admin.git#egg=django-nested-admin
If the source is already checked out, use setuptools to install:
python setup.py develop
To use django-nested-admin in your project, "nested_admin"
must be added
to the INSTALLED_APPS
in your settings and you must include
nested_admin.urls
in your django urlpatterns. django-grappelli is an optional dependency
of django-nested-admin. If using Grappelli, make sure the appropriate version of Grappelli
is installed for your version of Django.
# settings.py
INSTALLED_APPS = (
# ...
'nested_admin',
)
# urls.py
urlpatterns = patterns('',
# ...
url(r'^nested_admin/', include('nested_admin.urls')),
)
In order to use django-nested-admin
, use the following classes in
place of their django admin equivalents:
django.contrib.admin | nested_admin |
ModelAdmin | NestedAdmin |
InlineModelAdmin | NestedInlineModelAdmin |
StackedInline | NestedStackedInline |
# An example admin.py for a Table of Contents app
from django.contrib import admin
import nested_admin
from .models import TableOfContents, TocArticle, TocSection
class TocArticleInline(nested_admin.NestedStackedInline):
model = TocArticle
sortable_field_name = "position"
class TocSectionInline(nested_admin.NestedStackedInline):
model = TocSection
sortable_field_name = "position"
inlines = [TocArticleInline]
class TableOfContentsAdmin(nested_admin.NestedAdmin):
inlines = [TocSectionInline]
admin.site.register(TableOfContents, TableOfContentsAdmin)
The django code is licensed under the Simplified BSD
License. View the
LICENSE
file under the root directory for complete license and
copyright information.