Skip to content

Latest commit

 

History

History
101 lines (72 loc) · 3.11 KB

README.rst

File metadata and controls

101 lines (72 loc) · 3.11 KB

django-nested-admin

Build Status

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.

Installation

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

Configuration

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')),
)

Example Usage

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)

License

The django code is licensed under the Simplified BSD License. View the LICENSE file under the root directory for complete license and copyright information.