我的Book
模型需要两个单独的标记字段:genre
和tags
。我正在考虑为此编写自己的Genre
和BookTag
模型,并将其与ManyToManyField
链接或使用DjangoTagging来实现相同目标是否更好。
最终,我需要用户能够根据genre
或根据tag
进行过滤,但我不需要Tag Cloud功能。
从我所看到的,Django Tagging允许两个TagField
,但随后它将两者都投射到同一个标签云中。这对我来说不是问题,但在我开始重构我的所有代码以使用Django Tagging而不是我自己的ManyToMany字段之前,在这种情况下我是否应该注意使用Django Tagging的任何其他捕获?
答案 0 :(得分:4)
<强>否定强>
Django标记字段没有slug字段,因此如果要在Urls中使用它们,则需要手动填充tag.name
你不能(没有子类化django-taggings模型)将任何其他字段添加到流派或书籍标签中,这样你就不能轻易地描述流派或标签。
关于可用性:如果您正在使用django-tagging,那么您可能会更多地使用TagField来输入标签(无论是流派还是书签)。这样做的问题是你需要记住你之前使用过的标签,而不是你从列表中选择的外键或许多字段。
<强>积极因素强>
django-taggit是另一个标记应用程序,它被广泛使用并且仍然开发并克服了上述一些限制