Permission
(который находится в django.contrib.auth.models
) является объектом базы данных. Вы сможете увидеть их все с Permission.objects.all()
. Они создаются автоматически с помощью сигнала после синхронизации для каждой модели (и , поскольку в документах упоминается , вы также можете определить свою собственную).
Чтобы назначить разрешения пользователю, вам сначала нужно получить объекты Permission
(используя Permission.objects.get(*args)
), а затем вы можете добавить его пользователю, указав User.user_permissions.add(permission)
, как вы упомянули.
В качестве альтернативы, и более простой способ, если вы можете сделать это, это просто использовать сайт администратора Django. На странице подробностей для каждого пользователя есть раздел, касающийся разрешений. Я предполагаю, что вы не используете эти разрешения за пределами администратора, так что это единственная область, на которую они будут влиять. Если вы хотите, чтобы все ваши пользователи имели все разрешения, вы можете сделать их суперпользователями, установив для каждого пользователя флаг is_superuser
на True
.