This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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
Release History

Release History

This version
History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django_taggit_helpers-0.1.4-py2.py3-none-any.whl (6.9 kB) Copy SHA256 Checksum SHA256 3.4 Wheel Dec 5, 2015
django-taggit-helpers-0.1.4.tar.gz (5.1 kB) Copy SHA256 Checksum SHA256 Source Dec 5, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting