Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

django-nested-inline

Package Overview
Dependencies
Maintainers
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-nested-inline

Recursive nesting of inline forms for Django Admin

  • 0.4.6
  • PyPI
  • Socket score

Maintainers
3

django-nested-inline

Nested inline support for Django admin

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

Github

https://github.com/s-block/django-nested-inline

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:

npm install -g uglify-js

Then change to the directory where the file 'inlines-nested.js' and run the following command:

uglifyjs --compress --mangle --output ./inlines-nested.min.js -- inlines-nested.js

Releasing to PyPi

Create a file at $HOME/.pypirc and put the following text inside:

[pypi]
username = __token__
password = <Token from pypi>

Make sure the dependencies for this project are installed:

pip install django

Then install the build tool:

pip install build

Next run the distribution build of the project:

python -m build

Lastly, push the release to pypi

twine upload dist/*

Changelist

0.4.6:

  • Support django 4.1
  • Fix inline media error (#130)
  • Fix error when using 'save as new' (#149)
  • Add .fieldBox styling for django 2.1+ (#114)
  • Fix select2 import for Django >=2.2 (#150)
  • Fixed FieldDoesNotExist import to support Django>=3.2 (#147)

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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc