Как показать разрешения на добавление или изменение модели Django в группе или список разрешений пользователей на сайте администратора? - PullRequest
3 голосов
/ 09 февраля 2012

Я могу запустить сайт администратора Django, и когда я вхожу в систему как суперпользователь, я также могу изменить свою модель. Эта часть работает отлично. Когда я вхожу в систему как пользователь, который НЕ является суперпользователем, пользователь не видит возможности изменить эту модель. Когда я вошел в систему как суперпользователь и попытался дать этому пользователю / группе разрешение изменять эту модель из списка разрешений, я не смог найти это разрешение в списке.

Я вижу следующие разрешения:

  • admin | запись в журнале |
  • .
  • .
  • авторизация | группа | ...
  • авторизация | сообщение | ...
  • авторизация | разрешение | ...
  • типы контента | ...
  • сессий | ...

но ничего не связано с моим ModelAdmin. Мой admin.py выглядит следующим образом:

from django.contrib import admin
from pl.models import *

class MyModelAdmin(admin.ModelAdmin):
    pass

admin.site.register(MyModel, MyModelAdmin)

Может ли только суперпользователь редактировать модели, указанные через ModelAdmin? Что, если я хочу разрешить группе возможность делать это для избранных моделей. Есть ли способ сделать это? Спасибо.

Ответы [ 2 ]

3 голосов
/ 09 февраля 2012

Вы должны быть в состоянии сделать это. Попробуйте запустить python manage.py syncdb еще раз.

2 голосов
/ 09 февраля 2012

Если вы уже запустили syncdb, а разрешения все еще нет, значит ваше приложение не должно быть указано в INSTALLED_APPS. В противном случае Django автоматически создаст их.

Кроме того, вы упоминаете "ничего не связано с моим ModelAdmin". Разрешения создаются для моделей , а не ModelAdmin с. Возможно, вы только что опечатали это, но если вы ищете что-то, связанное с самим ModelAdmin, это может быть вашей проблемой.

...