Skip to main content

Extra features for django.contrib.admin

Project description

Installation

For installing graphene, just run this command in your shell

pip install django-admin-extras

Settings

INSTALLED_APPS = (
    # ...
    'django_admin_extras',
    # ...
)

Examples

Here is a simple Django model:

from django.db import models


class TodoList(models.Model):
    title = models.CharField(max_length=64)

    def __str__(self):
        return self.title


class TodoItem(models.Model):
    text = models.CharField(max_length=256)
    checked = models.BooleanField(default=False)
    list = models.ForeignKey(TodoList, on_delete=models.CASCADE)

    def __str__(self):
        return self.text

Here is a simple Django admin for models above:

from django.contrib import admin
from django.db.models import Q

from django_admin_extras import InputFilter, custom_titled_filter, custom_view_field

from .models import TodoItem


class TodoItemTextFilter(InputFilter):
    parameter_name = 'todoitem__text'
    title = 'todo item text'

    def queryset(self, request, queryset):
        if self.value() is not None:
            q = Q()
            for text_part in self.value().split():
                q &= Q(text__icontains=text_part)
            return queryset.filter(q)


@admin.register(TodoItem)
class TodoItemAdmin(admin.ModelAdmin):
    list_display = 'text', 'custom_text', 'checked', 'custom_bool',
    list_filter = TodoItemTextFilter, ('checked', custom_titled_filter('test title for checked filter')),

    @custom_view_field(admin_order_field='-text')
    def custom_text(self, obj: TodoItem) -> str:
        return obj.text + ' custom'

    @custom_view_field(boolean=True, short_description='Not checked')
    def custom_bool(self, obj: TodoItem) -> bool:
        return not obj.checked

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-extras-1.0.2.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

django_admin_extras-1.0.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file django-admin-extras-1.0.2.tar.gz.

File metadata

  • Download URL: django-admin-extras-1.0.2.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.9.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for django-admin-extras-1.0.2.tar.gz
Algorithm Hash digest
SHA256 e66b8204f5a54768422d48af3aca3153f913eab16eb57e871574ca64ef67dde6
MD5 b0e15bb0360a43abac1deb8ab39cbc83
BLAKE2b-256 1f3a85e23b1c4b1baf990088d932fb42957e5ae02cb8184ff82fc77c7f66680c

See more details on using hashes here.

File details

Details for the file django_admin_extras-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: django_admin_extras-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.9.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for django_admin_extras-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 32baffc3689fbf6231d1d518ac73c92295cba6c8859bf9d892217fa9e542e07d
MD5 56fe80f9089f8f62de4933f745c49dca
BLAKE2b-256 a600bd51a37b7487fe6a46ee84af4213c7d794e7fe4b87d1d6e983342bd5f2a9

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