2013-12-23 3 views
2

У меня есть группа в auth_group таблице. Мне нужно установить разрешения для группы. Есть набор разрешений в таблице auth_permission. Теперь, если мне нужно сопоставить все разрешения для группы, мне нужно добавить разные строки для каждого разрешения, или это можно сделать, добавив все разрешения в виде строки из 1 & 0?Настройка разрешений для группы/пользователя в Django

Для, например: - Должен ли я добавлять записи в таблице как

id,group_id,permission_id

1,1,1 
2,1,2 
3,1,3 
4,1,4 

или есть ли способ, я могу добавить все разрешения в одной строке, например 1234, каждая цифра означая разрешение_id?

ответ

2

Вы можете получить все разрешения от Permission модели и добавить их к группе:

from django.contrib.auth.models import Group, Permission 

permissions = Permission.objects.all() 
auth_group = Group.objects.get(...) 
auth_group.permissions.add(*permissions) 
+0

Спасибо. Но как это будет отображаться в таблицах mysql? Как и в, структура, о которой я упоминал выше, - табличный или строковый? – user2935897

+0

@ user2935897 все идентификаторы разрешений будут добавлены в таблицу auth_group_permissions (id, group_id, permission_id) – ndpu