ModelAdmin2

The ModelAdmin2 class is the representation of a model in the admin interface. These are stored in a file named admin2.py in your application. Let’s take a look at a very simple example of the ModelAdmin2:

from .models import Post
from djadmin2.site import djadmin2_site
from djadmin2.types import ModelAdmin2

class PostAdmin(ModelAdmin2):
    pass

djadmin2_site.register(Post, PostAdmin)

Adding a new view

To add a new view to a ModelAdmin2, it’s need add an attribute that is an instance of the views.AdminView.

The view.AdminView takes tree parameters: url, view and name. The url is expected a string for the url pattern for your view. The view is expected a view and name is an optional parameter and is expected a string that is the name of your view.

from .models import Post
from djadmin2 import views
from djadmin2.site import djadmin2_site
from djadmin2.types import ModelAdmin2

class PostAdmin(ModelAdmin2):
    preview_post = views.AdminView(r'^preview/$', views.PreviewPostView)

djadmin2_site.register(Post, PostAdmin)

Replacing an existing view

To replacing an existing admin view, it’s need add an attribute with the same name that the view that you want replace:

from .models import Post
from djadmin2 import views
from djadmin2.site import djadmin2_site
from djadmin2.types import ModelAdmin2

class PostAdmin(ModelAdmin2):
    create_view = views.AdminView(r'^create/$', views.MyCustomCreateView)

djadmin2_site.register(Post, PostAdmin)