Django 1.7 где разместить код для добавления групп программно?

Я пытался найти ответ в документации Django Auth, но, похоже, не могу найти то, что я ищу.

У меня проблема, когда я определяю код для добавления групп (так же, как группы на странице администратора):

#read_only
group, created = Group.objects.get_or_create(name='read_only')   
if created:
    group.permissions.add(can_read_campaign)
    logger.info('read_only_user Group created')
#standard
group, created = Group.objects.get_or_create(name='standard_user') 
if created:
    group.permissions.add(can_edit_users)
    logger.info('standard_user Group created')
#admin
group, created = Group.objects.get_or_create(name='admin_user') 
if created:
    group.permissions.add(can_edit_campaign, can_edit_users)
    logger.info('admin_user Group created')

Когда я запустил этот код в models.py ив этом.py и они оба дают мне эту ошибку:

django.core.exceptions.AppRegistryNotReady

Я предполагаю, что это связано с моделью /в этом пытаетесь вставить вещи в приложение / администратор django слишком рано?

Как я могу добавить эти группы программно?

РЕДАКТИРОВАТЬ:

Это не повторяющийся вопрос, это фактически добавление разрешений и групп в моделях во время настройки проекта, а не через оболочку.

Я решил эту проблему, используя сигналы и приемники (модули Django).

Я добавил код для создания разрешений / групп в свою собственную функцию и украсил его получателем (post_migrate), который запустит эту функцию после завершения миграции, удалив эту ошибку.

@receiver(post_migrate)
def init_groups(sender, **kwargs):
    #permission and group code goes here

Ответы на вопрос(1)

Ваш ответ на вопрос