2011-10-30 6 views
3

これはおそらくばかげた質問ですが、私はDjango-taggitをダウンロードし、ドキュメントにはTaggableManagerのマネージャを追加して、関連付ける各モデルに追加しました。これは問題ありませんが、外部アプリのモデルはどうしたら「パイプされた」のでしょうか?これらのモデルでtaggitを使用する最良の方法は何ですか?django:django-taggit usage

答えて

0

(-e VCS + REPOS_URL [@REV]#egg = PACKAGE)で編集可能なバージョンをインストールし、django-taggableの統合を自分で追加することができます。

+0

私は彼がそれを避けたいと思っています。 django-taggi * ng *を使ってモデルを登録することはできますが、登録するアプリの外で登録を行うことができるかどうかはテストしていません。 – kaleissin

2

あなたは、あなたが希望外部アプリからSomeModelを使用ビューに続いすなわち

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

class SomeModelTagged(SomeModel): 
    tags = TaggableManager() 

、おそらく合理的な解決策になる、独自のアプリケーションの一つで、外部アプリでモデルをサブクラス化でき代わりに新しいモデルを使用する必要があります。

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()