django: использование django-taggit - PullRequest
       15

django: использование django-taggit

3 голосов
/ 30 октября 2011

Вероятно, это глупый вопрос, но я скачал Django-taggit и в документах упоминалось добавление менеджера TaggableManager к каждой модели, которую я хочу связать.Это хорошо, но как насчет моделей из внешних приложений, которые я "пип-эд"?Какой лучший способ использовать taggit с этими моделями?

Ответы [ 3 ]

2 голосов
/ 12 сентября 2012

Вы можете создать подкласс модели во внешнем приложении в одном из ваших собственных приложений, что, вероятно, будет разумным решением, т. Е.

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

class SomeModelTagged(SomeModel):
    tags = TaggableManager()

Тогда в представлениях, где вы использовали SomeModel из внешнего приложения, вам придется использовать вместо этого новую модель.

2 голосов
/ 27 марта 2013

Вы можете легко зарегистрировать модель из любого внешнего приложения с помощью 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()
0 голосов
/ 31 октября 2011

Вы можете установить редактируемую версию pip с помощью (-e VCS + REPOS_URL [@REV] # egg = PACKAGE) и добавить интеграцию django-taggable самостоятельно.

...