django:django-taggit用法

时间:2011-10-30 09:12:49

标签: django django-tagging django-taggit

这可能是一个愚蠢的问题,但我下载了Django-taggit,并且文档提到在我要关联的每个模型中添加TaggableManager经理。这很好,但是我对“pip-ed”外部应用程序的模型怎么样?在这些模型中使用taggit的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

您可以在自己的应用程序中将模型子类化在外部应用程序中,这可能是一个合理的解决方案,即

from someapp.models import SomeModel
from taggit.managers import TaggableManager

class SomeModelTagged(SomeModel):
    tags = TaggableManager()

然后,在您从外部应用程序中使用SomeModel的视图中,您将不得不使用新模型。

答案 1 :(得分:2)

您可以使用taggit从任何外部应用轻松注册模型。假设模型的名称是Item。

from taggit.managers import TaggableManager
from external_app.models import Item

Item.add_to_class('tags', TaggableManager())

然后你可以通常的方式使用taggit。

i = Item.objects.get(pk=1)
i.tags.add("wassup")
i.tags.all()

答案 2 :(得分:0)

您可以使用(-e VCS + REPOS_URL [@REV]#egg = PACKAGE)安装可编辑版本并自行添加django-taggable集成。