2

我有一个Book模型需要两个单独的 Tag 字段:genretags. 我正在考虑是否最好为此编写我自己的模型GenreBookTag模型,并将其与ManyToManyFields 链接或使用 DjangoTagging 来实现相同的目的。

最终,我需要用户能够根据genre或根据进行过滤tag,但我不需要标签云功能。

据我所见,Django Tagging 允许两个TagFields,但随后它将两者都投射到同一个标签云中。这对我来说不是问题,但是在我开始重构所有代码以使用 Django Tagging 而不是我自己的 ManyToMany 字段之前,在这种情况下使用 Django Tagging 是否还有其他需要注意的问题?

4

1 回答 1

4

负面的

  • Django 标记字段没有 slug 字段,因此如果您想在 Urls 中使用它们,则必须手动对 tag.name 进行 slugify

  • 您不能(没有子类化 django-taggings 模型)将任何其他字段添加到流派或书籍标签,因此您将无法轻松描述流派或标签。

  • 关于可用性:如果您使用 django-tagging,您将更有可能使用 TagField 来输入标签(无论是流派还是书籍标签)。这样做的问题是您需要准确记住以前使用过的标签,而不是从列表中选择的外键或多字段。

正面的

  • Django 标记有一个很好的 API 用于查询标记和标记项目

django-taggit是另一个被广泛使用且仍在开发中并克服了上述一些限制的标记应用程序

于 2011-11-02T10:24:03.670 回答