Django. You don't have permission to edit anything


Question

I created a little app a while ago. I created admin.py and used admin.site.register(MenuEntry) to add the class to admin console. It showed the items of that class just fine. Then I began working on another app and created everything as before. But now it says: You don't have permission to edit anything. I compared files from that and from this apps and they look quite similar, so I just can't find the difference and I can't realize what to do now to make it work.

1
64
9/15/2010 1:31:48 PM

Accepted Answer

I checked files one more time and found the difference. I forgot to add admin.autodiscover() in urls.py of the project. Thanks.

137
9/15/2010 1:48:23 PM

I had another case where this happened. I had an app called "transcription", with two models: Project and Recording. After getting it mostly developed I decided to rename the app "recordings". The admin app worked fine as the admin but any non-admin user got this error message. Eventually I found (in my sqlite db) the table django_content_type. It had these records:

id  name      app_label     model
-------------------------------------
8   project   transcription project
9   recording transcription recording
10  project   recording     project
11  recording recordings    recording

Somewhere along the way I had managed to add two (almost - don't know why "recording" in record 10) correct records while leaving the now incorrect records intact. The admin user worked just fine (I wonder why), but any other group got the error. When I looked at auth_group_permissions I saw that only records 8 and 9 were being assigned and of course there was no longer an app called "transcription". Hence the error.

I deleted records 10 and 11 and changed the app_labels of 8 and 9 to "recordings" and there's joy in Mudville.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon