5

我想在 django-admin-tools 上添加一个自定义链接到 ModelList 组。我试过了,但它没有显示链接。我错过了什么?

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',                              
                                          ])
        ]
4

1 回答 1

0

我遇到了同样的问题并尝试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在您想要的任何地方使用。

于 2015-07-08T06:55:14.647 回答