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