2014-01-30 4 views
6

Я создал приложение, которые являются только проксимоделями, наследующими от моделей другого приложения.
Теперь у меня есть проблема, что я не могу предоставить пользователям Разрешения для редактирования этих моделей с помощью админ-интерфейса.Django admin: Пользовательские разрешения для прокси-модели

В приложении «Пользователи» на странице «Администрирование», где я обычно могу предоставлять и отзывать разрешения для определенного приложения, это приложение даже не указано.
Я уже пробовал syncdb, но это мне не помогло.

Ответы на this SO нить не поможет мне тоже

EDIT
Я просто попытался создать новую модель (внутри приложения, которое только containts proxymodels). Для этой модели можно было предоставить разрешения.

Конечно, поскольку proxymodels используют те же данные, что и их родительские модели, дополнительных разрешений не требуется, если пользователю разрешено изменять родительскую модель. Но каждый раз, когда я пытаюсь получить доступ к этой модели, он говорит «Forbidden»

+1

См. Http://stackoverflow.com/questions/8096980/user-permissions-on-proxy-models-in-modeladmin и http://stackoverflow.com/questions/15037642/django-proxy-model-permissions- do-not-появляются - это известная проблема Django (https://code.djangoproject.com/ticket/11154). – simpleigh

ответ

0

Я никогда раньше не использовал прокси-модели, но я думаю, вам может потребоваться установить их отдельно, но в любом случае я думаю, что вы должны попытаться создать резервную копию своего базы данных, запустив эту строку

python manage.py dumpdata your_app --all > /home/you/your_project/backup.json 

Затем сбросьте эту модель

python manage.py dumpdata reset your_app 

как только это будет сделано загрузить ваши данные снова

python manage.py loaddata your_app /home/you/your_project/backup.json 

Смотрите, если это исправляет глюки на ваш проект

0

в моем случае я сделал что-то похожее на вас, я добавил прокси-модель для пользователя, и не мог получить соответствующие разрешения, чтобы показать на вкладке permisssions. Выполнение manage.py makemigrations & manage.py migrate исправил его, он включает соответствующие поля в таблице contenttype или что-то в этом роде.

Смежные вопросы