2012-05-12 7 views
20

異なるアプリケーションのモデルを1つの管理ブロックにグループ化することはできますか?異なるアプリケーション/オブジェクトから1つの管理ブロックにグループ化するモデル

例えば、私の構造はfollowers/admin.py

project/ 
    review/ 
    models.py - class Review(models.Model): 
    followers/ 
    models.py - class Followers(models.Model): 
    admin.py 

ですが、私はこれは簡単に物事を見つけるために管理者のための1つの管理ブロック内のグループにある

admin.site.register(Followers) 
admin.site.register(Review) 

を呼び出します。

私はそれを試みましたが、ReviewモデルがFollowers管理ブロック内に表示されず、これに関するドキュメントが見つかりませんでした。

答えて

36

Django管理者グループで定義されている管理者の管理対象ブロックのモデルです。したがって、Reviewfollowers/admin.pyに登録すると、それでもアプリになりますreview

のでReviewproxy modelを作成し、「レビュー」アプリで

class ProxyReview(Review): 
    class Meta: 
     proxy = True  
     # If you're define ProxyReview inside review/models.py, 
     # its app_label is set to 'review' automatically. 
     # Or else comment out following line to specify it explicitly    
     # app_label = 'review' 

     # set following lines to display ProxyReview as Review 
     # verbose_name = Review._meta.verbose_name 
     # verbose_name_plural = Review._meta.verbose_name_plural 


# in admin.py 
admin.site.register(ProxyReview) 

をそれを置く。また、あなたは同じアプリにFollowersReviewを置くか、彼らのために同じapp_labelを設定することができます。

管理者ビューをカスタマイズするか、第三者ダッシュボードを使用するmayでも目標を達成できます。

関連する問題