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
.因此,注册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)
Run Code Online (Sandbox Code Playgroud)
此外,您可以放置Followers
和Review
使用相同的应用程序或app_label
为它们设置相同的内容.
自定义管理视图或使用第三方仪表板也可以实现目标.