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
Built Distribution
File details
Details for the file django-taggit-helpers-0.1.4.tar.gz
.
File metadata
- Download URL: django-taggit-helpers-0.1.4.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d988c06f0220b47c6f2eaef1216471305356adb6c34cfc920acc2296686e6db5 |
|
MD5 | 78efd36018f0fd01d53e3757573fd7d5 |
|
BLAKE2b-256 | 6b7ab0bb9007b3ca0447498d01b6d298a53daac5042a656aa5c6645961a2c65c |
File details
Details for the file django_taggit_helpers-0.1.4-py2.py3-none-any.whl
.
File metadata
- Download URL: django_taggit_helpers-0.1.4-py2.py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 240a0c2281807d9c356d50cbaf176bcaffdb3a039acc72af18223e78ab1703e4 |
|
MD5 | 05a6f4dd2dd6de1185bdb24817fba49f |
|
BLAKE2b-256 | 8975c9814bd50dca05cb7b4ef0abc47d2a4d3993a2863e45b112d09b509708bf |