1

我正在尝试 django-taggit 并且非常喜欢它。我无法弄清楚的一件事是如何使用 filter_horizo​​ntal 选项(甚至复选框)将默认的逗号分隔标签输入更改为 django 默认的多对多字段。这对我想做的事情更有意义,因为我只希望管理员能够创建标签,内容制作者只需从可用的标签中进行选择 在
这里找到一个类似的问题
Using Check boxes in Taggit
但我无法理解什么必须插在哪里使它发生

4

1 回答 1

2

没有时间尝试了解 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

然后在管理员中,我删除了为除超级用户之外的所有人创建新标签的权限。
感觉有点 hackish,但提供了我需要的东西(让用户更容易使用现有标签并避免他们创建新标签)

于 2013-10-28T11:27:09.763 回答