Question

firstly, sorry if this problem was already solved, but I couldn't find solution anywhere.

I created two admin instances in Django, here's my admin.py sample code:

class ConferenceRoomAdmin(admin.ModelAdmin):
    readonly_fields = ('token', 'image_tag')

class ConferenceRoomSuperAdmin(admin.ModelAdmin):
    readonly_fields = ('token', 'image_tag')


class ConferenceAdmin(admin.AdminSite):
    def get_urls(self):
        urls = super(ConferenceAdmin, self).get_urls()
        return urls

admin_site = ConferenceAdmin()
admin_site.register(ConferenceContext)
admin_site.register(ConferenceRoom, ConferenceRoomAdmin)


class ConferenceSuperAdmin(admin.AdminSite):
    pass

super_admin_site = ConferenceSuperAdmin()
super_admin_site.register(ConferenceRoom, ConferenceRoomSuperAdmin)

and urls.py file:

url(r'^admin/', include(admin.admin_site.urls)),
url(r'^myadmin/', include(admin.super_admin_site.urls)),
url(r'^login/', views.login_view),
url(r'^test/', views.test_view),

I'm able to login to both admin instances, however, if I log into 'myadmin' instance and click on any link (i.e. change password or edit users, etc. etc) I'm redirected to 'admin' site. What may be wrong here?

Thanks in advance!

Was it helpful?

Solution

Try adding a name attribute to the second admin site, like so:

super_admin_site = ConferenceSuperAdmin(name = 'super_admin')

That is the only difference between your code and mine, as far as I can tell.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top