Skip to main content

Recursive nesting of inline forms for Django Admin

Project description

Nested inline support for Django admin

Most of the code from this package is from [https://code.djangoproject.com/ticket/9025](https://code.djangoproject.com/ticket/9025)

Installation

pip install django-nested-inline

Usage

Add nested_inline to INSTALLED_APPS

models.py

from django.db import models

class TopLevel(models.Model):
name = models.CharField(max_length=200)
class LevelOne(models.Model):
name = models.CharField(max_length=200) level = models.ForeignKey(‘TopLevel’)
class LevelTwo(models.Model):
name = models.CharField(max_length=200) level = models.ForeignKey(‘LevelOne’)
class LevelThree(models.Model):
name = models.CharField(max_length=200) level = models.ForeignKey(‘LevelTwo’)

admin.py

from django.contrib import admin from nested_inline.admin import NestedStackedInline, NestedModelAdmin from example.models import *

class LevelThreeInline(NestedStackedInline):
model = LevelThree extra = 1 fk_name = ‘level’
class LevelTwoInline(NestedStackedInline):
model = LevelTwo extra = 1 fk_name = ‘level’ inlines = [LevelThreeInline]
class LevelOneInline(NestedStackedInline):
model = LevelOne extra = 1 fk_name = ‘level’ inlines = [LevelTwoInline]
class TopLevelAdmin(NestedModelAdmin):
model = TopLevel inlines = [LevelOneInline]

admin.site.register(TopLevel, TopLevelAdmin)

Minifying Javascript

Released versions of this library should have a minified version of the js.

Minification is done with uglifyjs. If npm is installed on your system, you can install uglifyjs with the command: `sh npm install -g uglify-js `

Then change to the directory where the file ‘inlines-nested.js’ and run the following command: `sh uglifyjs --compress --mangle --output ./inlines-nested.min.js -- inlines-nested.js `

Releasing to PyPi

First make sure the dependencies for this project are installed: `sh pip install django ` Then install the build tool: `sh pip install build `

Next run the distribution build of the project: `sh python -m build `

Changelist

0.4.5 - Support django 4.0 and django-csp

0.4.4 - Add formset:added and formset:removed events (#97)

0.4.3 - Update media so it expects to find jquery in the right place. (#75)

0.4.2 - Fix assets

0.4.1 - Fix permission checks

0.4.0 - Added support for Django 3.0

0.3.7 - added support for django 1.10, fix unique fieldset id

0.3.6 - added support for django 1.9

0.3.5 - Removed deprecated methods and updated for Django 1.8/1.9

0.3.4 - added licence and updated for python 3

0.3.3 - fixed bug where inlines without inlines would cause an error

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-nested-inline-0.4.5.tar.gz (19.0 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page