Skip to main content

Django Admin Extensions

Project description

Django Admin Extensions

Installation

pip install django-admin

Usage

Disable Action:

from django.contrib import admin
from django_admin import DeleteModelAdmin

# Override action ``delete_selected``, call ``delete_model`` for each when ``delete_selected``
class XXXAdmin(admin.ModelAdmin, DeleteModelAdmin):
    def delete_model(self, request, obj):
        obj.delete()
        # Other Codes

# Reopen action ``delete_selected`` after ``admin.site.disable_action('delete_selected')``
class YYYAdmin(admin.ModelAdmin):
    actions = ['delete_selected']

# Disable ``actions``
class ZZZAdmin(admin.ModelAdmin):
    actions = None

Export Excel:

from django.contrib import admin
from django_admin import ExportExcelModelAdmin, AdvancedExportExcelModelAdmin

class XXXAdmin(ExportExcelModelAdmin, admin.ModelAdmin):
    pass

class YYYAdmin(AdvancedExportExcelModelAdmin, admin.ModelAdmin):
    excel_headers = ()
    excel_fields = ()
    excel_fields_exclude = ()
    extra_excel_fields = ()

    def add_extra_excel_fields(self, request, query):
        return []

All Fields Readonly:

from django.contrib import admin
from django_admin import ReadonlyModelAdmin

class XXXAdmin(ReadonlyModelAdmin, admin.ModelAdmin):
    pass

Disable Editing:

from django.contrib import admin
from django_admin import ReadOnlyModelAdmin

class XXXAdmin(ReadOnlyModelAdmin, admin.ModelAdmin):
    pass

* Should add ``django_admin`` in ``INSTALLED_APPS``
```python
INSTALLED_APPS = [
    ...
    'django_admin',
    ...
]
```

Disable Add/Delete:

from django.contrib import admin
from django_admin import ChangeOnlyModelAdmin

class XXXAdmin(ChangeOnlyModelAdmin, admin.ModelAdmin):
    pass

Disable Add/Change:

from django.contrib import admin
from django_admin import DeleteOnlyModelAdmin, DeleteonlyModelAdmin

class XXXAdmin(DeleteOnlyModelAdmin, admin.ModelAdmin):
    # DeleteOnlyModelAdmin - All Fields Default Readonly
    # DeleteonlyModelAdmin - All Fields Not Default Readonly
    pass

* Should add ``django_admin`` in ``INSTALLED_APPS``
```python
INSTALLED_APPS = [
    ...
    'django_admin',
    ...
]
```

Disable Delete/Change:

from django.contrib import admin
from django_admin import AddOnlyModelAdmin

class XXXAdmin(AddOnlyModelAdmin, admin.ModelAdmin):
    pass

* Should add ``django_admin`` in ``INSTALLED_APPS``
```python
INSTALLED_APPS = [
    ...
    'django_admin',
    ...
]
```

Disadvantage

Will disable ``delete_selected`` for all ``ModelAdmin``
Will lost delete confirm

Project details


Download files

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

Source Distribution

django-admin-1.2.4.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

django_admin-1.2.4-py2.py3-none-any.whl (8.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-admin-1.2.4.tar.gz.

File metadata

File hashes

Hashes for django-admin-1.2.4.tar.gz
Algorithm Hash digest
SHA256 5b049e0e6b34162b1b423d59cf820b2e949d1f20abecd65b0adb206f8c6d73e0
MD5 07b34c764817ab909dba325be667dc99
BLAKE2b-256 11d05ae7c11d7d73c2f8cd38218bd6c2a8503d1875feb34999b7874f69dac782

See more details on using hashes here.

File details

Details for the file django_admin-1.2.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_admin-1.2.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 afcf07bc10b4bb07b92884fda4d19d4ff053f2f3d5e4343338ed7184802ec401
MD5 aa48240eb5e6dea1594fcd49d89bf4f9
BLAKE2b-256 940a56a964049251efefb74e5c385f1f13b7448ad48d4a20d3ef25e8d02f01ae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page