我想在ModelAdminGroup
中添加非ModelAdmin
项,例如MenuItem
,如下所示:
MenuItem('A title', '/some_url/', icon_name='doc-full-inverse', order=1)
但是我在Wagtail文档和stackoverflow中都找不到任何提示。
我的ModelAdminGroup
看起来像这样
class MyModelAdminGroup(ModelAdminGroup):
menu_label = "Some stuff"
menu_icon = "fa-suitcase"
menu_order = 1
items = (Model1Admin, Model2Admin)
我试着这样做:
class MyModelAdminGroup(ModelAdminGroup):
menu_label = "Some stuff"
menu_icon = "fa-suitcase"
menu_order = 1
items = (Model1Admin, Model2Admin, MenuItem('A title', '/some_url/', icon_name='doc-full-inverse', order=1))
和其他一些愚蠢的东西
但所有我尝试崩溃…
我终于找到了一个简单的解决办法。我只是把它写在下面,以防它能帮助社区的其他人我最终得到了一个简单的解决方案:只是扩展我的自定义ModelAdminGroup
类并编写一个特定的get_submenu_items
方法:
class MyModelAdminGroup(ModelAdminGroup):
menu_label = "Some stuff"
menu_icon = "fa-suitcase"
menu_order = 1
items = (Model1Admin, Model2Admin)
def get_submenu_items(self):
menu_items = super().get_submenu_items()
menu_items.append(MenuItem('A title', '/some_url/', icon_name='doc-full-inverse', order=1))
return menu_items