Skip to main content

Django admin helper classes for django-taggit tags

Project description

django-taggit-helpers makes it easier to work with admin pages of models associated with django-taggit tags.

Source code is available on GitHub at mfcovington/django-taggit-helpers. Information about django-taggit is available on GitHub and Read the Docs.

django-taggit-helpers is compatible with Python 2.7+/3.2+ and Django 1.7+.

Installation

PyPI

pip install django-taggit-helpers

GitHub (development branch)

pip install git+http://github.com/mfcovington/django-taggit-helpers.git@develop

Configuration

Add taggit_helpers to INSTALLED_APPS in settings.py:

INSTALLED_APPS = (
    ...
    'taggit',
    'taggit_helpers',
)

Helper Classes

TaggitCounter

Display (and sort by) number of Taggit tags associated with tagged items.

from taggit_helpers import TaggitCounter
# For Django 1.9+, use this instead:
# from taggit_helpers.admin import TaggitCounter

class MyModelAdmin(TaggitCounter, admin.ModelAdmin):    # TaggitCounter before ModelAdmin
    list_display = (
        ...
        'taggit_counter',
    )

Note: Currently, the TaggableManager() field must be named tags.

Note: To avoid overcounting, set distinct=True if further annotating the queryset with Count():

queryset.annotate(m2m_field_count=Count('m2m_field', distinct=True))

TaggitListFilter

Filter records by Taggit tags for the current model only. Tags are sorted alphabetically by name.

from taggit_helpers import TaggitListFilter
# For Django 1.9+, use this instead:
# from taggit_helpers.admin import TaggitListFilter

class MyModelAdmin(admin.ModelAdmin):
    list_filter = [TaggitListFilter]

TaggitStackedInline

Add stacked inline for Taggit tags to admin. Tags are sorted alphabetically by name.

from taggit_helpers import TaggitStackedInline
# For Django 1.9+, use this instead:
# from taggit_helpers.admin import TaggitStackedInline

class MyModelAdmin(admin.ModelAdmin):
    inlines = [TaggitStackedInline]

TaggitTabularInline

Add tabular inline for Taggit tags to admin. Tags are sorted alphabetically by name.

from taggit_helpers import TaggitTabularInline
# For Django 1.9+, use this instead:
# from taggit_helpers.admin import TaggitTabularInline

class MyModelAdmin(admin.ModelAdmin):
    inlines = [TaggitTabularInline]

Upgrading existing projects to Django 1.9+

App loading was refactored in Django 1.9. To make a Django 1.7/1.8 app Django 1.9-compatible with respect to django-taggit-helpers, run the following shell command in your app’s directory.

find . -name '*.py' | xargs perl -i -pe 's/from taggit_helpers import/from taggit_helpers.admin import/'

Thanks to jpic for the inspiration for this snippet!

Issues

If you experience any problems or would like to request a feature, please create an issue on GitHub.

Version 0.1.4

Revision history

0.1.4 2015-12-04

  • Add Django 1.9 compatibility

0.1.3 2015-11-30

  • Require Python 2.7+/3.2+

  • Add slides from Django SF Meetup lightning talk

0.1.2 2015-06-14

  • Add Django 1.8 compatibility

0.1.1 2015-06-11

  • Rename taggit_count to taggit_counter

0.1.0 2015-06-10

  • Django admin helper classes for django-taggit tags

    • TaggitCounter

    • TaggitListFilter

    • TaggitStackedInline

    • TaggitTabularInline

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-taggit-helpers-0.1.4.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

django_taggit_helpers-0.1.4-py2.py3-none-any.whl (6.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-taggit-helpers-0.1.4.tar.gz.

File metadata

File hashes

Hashes for django-taggit-helpers-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d988c06f0220b47c6f2eaef1216471305356adb6c34cfc920acc2296686e6db5
MD5 78efd36018f0fd01d53e3757573fd7d5
BLAKE2b-256 6b7ab0bb9007b3ca0447498d01b6d298a53daac5042a656aa5c6645961a2c65c

See more details on using hashes here.

File details

Details for the file django_taggit_helpers-0.1.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_taggit_helpers-0.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 240a0c2281807d9c356d50cbaf176bcaffdb3a039acc72af18223e78ab1703e4
MD5 05a6f4dd2dd6de1185bdb24817fba49f
BLAKE2b-256 8975c9814bd50dca05cb7b4ef0abc47d2a4d3993a2863e45b112d09b509708bf

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