Как добавить пользовательский пункт меню на панели инструментов django-admin-tools

Я хочу добавить пользовательскую ссылку в группу ModelList на django-admin-tools. Я попробовал это, но это не показывало ссылку. Что мне не хватает?

class CustomIndexDashboard(Dashboard):
    columns = 2

    def __init__(self, **kwargs):
        Dashboard.__init__(self, **kwargs)

        grupo = modules.ModelList('Matrículas', 
           [ 'core.models.Aluno',
             'core.models.Matricula',
             'core.models.ModuloAtivo',
           ])

        item = items.MenuItem(u"Orçamentos", "%s%s" % (reverse('admin:core_matricula_changelist'), "?status__exact=O" ) )

        grupo.children += [ item ] 

        self.children += [ grupo, 

          modules.ModelList('Controle de Presença', [ 
                                          'core.models.Aula',
                                          'core.models.Pauta',
                                          'core.models.Presenca',
                                          'core.models.PautaModulo',                              
                                          ])
        ]

1 ответ

Решение

Я столкнулся с той же проблемой и попытался использовать items.MenuItem как и вы, но я получил ошибку:

Объект "MenuItem" не имеет атрибута "id".

Тогда я пришел к следующему решению:
Даже если нам нужна только одна ссылка, мы должны создать LinkList

link = modules.LinkList(
            title='', # the title is empty for better looking
            children=[
                [_(u'My link'), reverse('admin:custom_view')],
            ]
        )

Вот наш ModelList:

models = modules.ModelList(
            models=(
                'app.models.Model1',
                'app.models.Model2',
                )
            )

И Group, где мы объединяем связь с моделями:

a_group = modules.Group(
            title=u'My group',
            display="stacked",
            children=[
                models,
                link
            ]
        )

Тогда просто используйте a_group где угодно.

Другие вопросы по тегам