Джанго. У вас нет прав редактировать что-либо

Я создал небольшое приложение некоторое время назад. Я создал admin.py и использовал admin.site.register(MenuEntry), чтобы добавить класс в консоль администратора. Он отлично показал предметы этого класса. Затем я начал работать над другим приложением и создал все, как раньше. Но теперь он говорит: У вас нет разрешения редактировать что-либо. Я сравнивал файлы с этим и с этими приложениями, и они выглядят очень похожими, поэтому я просто не могу найти разницу, и я не могу понять, что делать теперь, чтобы заставить его работать.

Ответ 1

Я проверил файлы еще раз и нашел разницу. Я забыл добавить admin.autodiscover() в urls.py проекта. Спасибо.

Ответ 2

У меня был другой случай, когда это произошло. У меня было приложение под названием "транскрипция" с двумя моделями: "Проект и запись". Получив его в основном, я решил переименовать приложение "записи". Приложение администратора отлично работало как администратор, но любой пользователь, не являющийся администратором, получил это сообщение об ошибке. В конце концов я нашел (в моем sqlite db) таблицу django_content_type. У этого были такие записи:

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

Где-то по пути мне удалось добавить две (почти - не знаю, почему "запись" в записи 10) правильные записи, оставив теперь неправильные записи нетронутыми. Пользователь admin работал просто отлично (интересно, почему), но любая другая группа получила ошибку. Когда я посмотрел на auth_group_permissions. Я видел, что были назначены только записи 8 и 9, и, конечно же, там больше не было приложением под названием "транскрипция". Отсюда ошибка.

Я удалил записи 10 и 11 и изменил app_labels 8 и 9 на "записи", и там радость в Mudville.

Ответ 3

Обновите свой Django до версии 1.7 или более. Эта проблема будет автоматически решена.

Обновление Django:

pip install -U django

Ответ 4

Я получал ту же ошибку и должен был реорганизовать имя app, поскольку он противоречил одному из используемых модулей. Мое имя app's было admin, и я также использовал Django admin.

Отметьте ссылку - Изменить имя приложения, о том, как это сделать.

Ответ 5

Я просто просто удалил все установленные версии Django. Затем просто установите последнюю версию Django, и она работает