24

異なるアプリのモデルを1つの管理ブロックにグループ化することは可能ですか?

たとえば、私の構造は

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

followers/admin.py、私は電話します

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

これは、管理者が簡単に見つけられるように、それらを1つの管理ブロック内にグループ化するためのものです。

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

4

1 に答える 1

43

Django Adminは、によって定義されたアプリによって管理ブロックするモデルをグループ化しますModel._meta.app_label。したがって、に登録Reviewしてfollowers/admin.pyもアプリにアクセスできreviewます。

のプロキシモデルを作成Reviewし、「レビュー」アプリに配置します

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)

また、同じアプリに入れFollowersたりReview、同じように設定app_labelしたりすることもできます。

管理ビューをカスタマイズするか、サードパーティのダッシュボードを使用することで、目標を達成できる場合もあります。

于 2012-05-12T05:26:26.967 に答える