My code, in case someone would need it in the future:
class MyButtonHelper(PageButtonHelper):
def test_button(self, pk, classnames_add=[], classnames_exclude=[]):
classnames = self.copy_button_classnames + classnames_add
cn = self.finalise_classname(classnames, classnames_exclude)
return {
'url': self.url_helper.get_action_url('copy', quote(pk)),
'label': _('test'),
'classname': cn,
'title': _('test this %s') % self.verbose_name,
}
def get_buttons_for_obj(self, obj, exclude=[], classnames_add=[],
classnames_exclude=[]):
pk = quote(getattr(obj, self.opts.pk.attname))
btns = super(MyButtonHelper, self).get_buttons_for_obj(obj, exclude, classnames_add, classnames_exclude)
if 'test' not in exclude:
btns.append(
self.test_button(pk, classnames_add, classnames_exclude)
)
return btns
Just add this to the modelAdmin:
button_helper_class = MyButtonHelper