将来自不同app/object的模型分组到一个Admin块中

Dav*_*idL 23 django django-models django-admin

是否可以将来自不同应用的模型分组为1个管理块?

例如,我的结构是

project/
  review/
    models.py -  class Review(models.Model):
  followers/
    models.py -  class Followers(models.Model):
    admin.py 
Run Code Online (Sandbox Code Playgroud)

followers/admin.py,我打电话

 admin.site.register(Followers)
 admin.site.register(Review)
Run Code Online (Sandbox Code Playgroud)

这是将它们分组到1个管理块中,以便管理员轻松查找.

我尝试过,但Review模型没有显示在Followers管理块内,我找不到关于此的文档.

okm*_*okm 40

Django Admin将模型按其定义的应用程序分组来管理阻止Model._meta.app_label.因此,注册Reviewfollowers/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)
Run Code Online (Sandbox Code Playgroud)

此外,您可以放置FollowersReview使用相同的应用程序或app_label为它们设置相同的内容.

自定义管理视图或使用第三方仪表板也可以实现目标.