Изменение способа ввода тегов в django-taggit

Я пробую django-taggit и мне это очень нравится. Одна вещь, которую я не могу понять, это как изменить ввод тега по умолчанию, разделенный запятыми, в поле «многие ко многим» по умолчанию django с параметром filter_horizontal (или даже флажками). То, что я хочу сделать, имело бы больше смысла, поскольку я хочу, чтобы администраторы могли создавать теги, а производители контента просто выбирали из доступных
Нашел аналогичный вопрос здесь
Использование флажков в Taggit
Но я не могу понять, что нужно подключить, где это сделать случаться


person takosuke    schedule 22.10.2013    source источник


Ответы (1)


У меня нет времени пытаться понять, как на самом деле работает taggit, чтобы понять, что мне нужно, поэтому я придумал быстрый обходной путь — создал метод внутри модели, который извлекает все доступные теги и отображает их в тексте справки для поле тегов.

tags = TaggableManager(blank=True, help_text = tag_helptext())    
def tag_helptext():
    help_text = "Options: "
    for t in Tag.objects.all():
        help_text += t.name + " ||| "
    return help_text

Затем в админке я удалил привилегии на создание новых тегов для всех, кроме суперпользователя.
Похоже на хакерство, но предоставляет то, что мне нужно (чтобы пользователям было легко использовать существующие теги и не создавать новые)

person takosuke    schedule 28.10.2013