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模型没有出现在Followers管理块中,我找不到关于这个的文档。

4

1 回答 1

43

Django Admin 通过其应用程序将模型分组到管理块,该应用程序由Model._meta.app_label. 因此注册Review仍然followers/admin.py会得到它到 app 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

自定义管理视图或使用第 3 部分仪表板也可以实现目标。

于 2012-05-12T05:26:26.967 回答