Отсортировать теги по имени, используя django-taggit и django-taggit-labels
3 ноября 2016 г. 11:45
С помощью django-taggit-labels теги можно отобразить следующим образом:
И это достаточно удобно! Так как видишь, какие теги у тебя есть, а другими словами какие теги можно связать с объектом, например, со статьёй в блоге. Когда есть простое поле ввода тегов, можно легко в разных статьях создать теги js и javascript или "Другое" и "Разное", которые являются одним и тем же по значению. Или даже "другое" и "Другое", значения которых одинаково только регистр первой буквы разный (как на скриншоте выше). С django-taggit-labels вы оградите себя от подобных одинаковых по значению тегов, благодаря их визуальному отображению.
Ниже представлен способ сортировки тегов по имени:
# forms.py # -*- coding: utf-8 -*- from __future__ import unicode_literals from django import forms from taggit.forms import TagField from taggit_labels.widgets import LabelWidget class MyLabelWidget(LabelWidget): def tag_list(self, tags): return [(tag.name, 'selected' if tag.name in tags else '') for tag in self.model.objects.order_by('name')] class MyModelForm(forms.ModelForm): tags = TagField(required=False, widget=MyLabelWidget)
Вся фишка в переопределении метода tag_list(self, tags). Обратите внимание, что мы преобразовали оригинальный метод, заменив выборку объекта на self.model.objects.order_by('name')
.
Теперь форму можно добавлять к admin классу:
@admin.register(MyModel) class MyModelAdmin(admin.ModelAdmin): form = MyModelForm
Похожие статьи:
- Расширить django-taggit
- Отсортировать теги по имени, используя django-taggit и django-taggit-labels
- Миграции не создаются, ошибка dependencies references nonexistent parent node
- Сохранение тегов (taggit) при публикации страницы в django-cms
- Unable to get repr for <class 'django.db.models.query.QuerySet'>. Поиск по тегам в плагинах django
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0