как создавать группы программно в Джанго - PullRequest
0 голосов
/ 04 июня 2018

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

Кажется, что я ищу, чтобы использовать группы djangoфункциональность, но документация о том, как это сделать, в лучшем случае минимальна - по крайней мере, я не нашел.В основном речь идет о создании групп в консоли администратора, а это не то, что я пытаюсь сделать.Я хотел бы сделать это программно / динамически.

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

Я прочитал много вещей, которые Google подбрасывал мне из моих поисков.ничего не помогло.

Как мне поступить?

Спасибо

1 Ответ

0 голосов
/ 04 июня 2018

Ну, а Group - это просто еще одна модель в Django (одна из моделей, определенных в библиотеке Django).

Таким образом, вы можете создать группу с:

from django.contrib.auth.models import Group

g1 = Group.objects.create(name='Name of the group')

Модель Group имеет два отношения «многие ко многим»: одно с User с (со связанным именем users) и одно с Permission (со связанным именем permissions).Таким образом, мы можем использовать соответствующие менеджеры для добавления и удаления User s и Permission s.

Затем вы можете, например, заполнить группу такими пользователями, как:

g1.user_set.add(user1, user2, user5, user7)

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

g1.permissions.add(perm1, perm3, perm4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...