Coder Social home page Coder Social logo

django-inline-addons's Introduction

djanog-inline-addons

Build Status PyPi Version Licence

Implemented

  • popup inlines

Needed/Wanted

  • make django inlines more consistent with it's delete behaviour

Bonus

  • inlines for non admin change views

Usage

In your settings, add to INSTALLED_APPS

INSTALLED_APPS = [
    ...
    'inline_addons',
    ...
]

Popup Inlines

Instead of stacked or tabular inlines, you'll use a PopupInline. You'll further need to register your inline model with the normal admin.site, otherwise the opened popup cannt show you a add-/changeform. For now, this means that the model will show up in django admin dashboard and in my_app's app overview. Hope to find a way to hide it.

from django.contrib import admin
from inline_addons.admin import PopupInline, PopupInlineAdmin

from my_app.models import ParentModel, InlineModel


class InlineModelInline(PopupInline):
    model = InlineModel2
    # popup only: for now, no fields can be edited in the "inline" itself, make sure they are
    # all excluded! one day, this might be automated...
    exclude = ['title', ]
    # if you dont, PopupInline will enforce extra=0
    # other values are not tested / supported
    extra = 0


class ParentModelAdmin(admin.ModelAdmin):
    inlines = [InlineModelInline, ]


class InlineModelAdmin(PopupInlineAdmin):
    # this is needed, will not work otherwise
    fk_name = 'parent'


admin.site.register(InlineModel, InlineModelAdmin)
admin.site.register(ParentModel, ParentModelAdmin)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.