这可能是一个愚蠢的问题,但我下载Django-taggit
了文档,文档提到TaggableManager
为我要关联的每个模型添加一个管理器。这很好,但是来自我“pip-ed”的外部应用程序的模型呢?将 taggit 与这些模型一起使用的最佳方式是什么?
问问题
681 次
3 回答
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()
于 2013-03-27T10:59:58.083 回答
2
您可以在您自己的一个应用程序中将外部应用程序中的模型子类化,这可能是一个合理的解决方案,即
from someapp.models import SomeModel
from taggit.managers import TaggableManager
class SomeModelTagged(SomeModel):
tags = TaggableManager()
然后在您从外部应用程序使用 SomeModel 的视图中,您将不得不使用新模型。
于 2012-09-12T11:18:01.083 回答
0
您可以让 pip 使用 (-e VCS+REPOS_URL[@REV]#egg=PACKAGE) 安装可编辑版本并自己添加 django-taggable 集成。
于 2011-10-31T01:00:01.357 回答