2015-02-02 4 views
1

Мне нужно определить некоторые разрешения и группы, которые используются в моделях и представлениях. Я знаю, как это сделать с разрешениями (определите их в «Мета» некоторых моделей), но мне не ясно, как это сделать с группами. Возможно, правильная вещь - не использовать группы, предоставленные в Auth Django, а создавать новые модели для обработки этих «постоянных» групп.Django - создать «жестко закодированные» группы и разрешения

Я также попытался создать эти группы как «начальные данные» (https://docs.djangoproject.com/en/1.7/howto/initial-data/), но это решение кажется мне не очень чистым.

+0

вам нужно определить группы лучше ... в группах django это просто быстрый способ установить разрешение данного пользователя ... если вы говорите об организационных группах, вам почти наверняка понадобится создать новый тип группы \ –

ответ

0

Невозможно создать жестко закодированные группы внутри кода (без изменения источника Django), поскольку группы хранятся в таблице auth.group в вашей базе данных. Возможные способы получения ваших групп в этой таблице будет:

  1. Исходные данные, как вы уже сделали (рекомендуется, как тот, что он предназначен для)
  2. Создание миграции данных, которая содержит группы
  3. Добавьте его в код, который ABIT противный

    из django.contrib.auth.models импорта Группа
    р создано = Group.objects.get_or_create (имя = 'Администраторы')