Django 1.7 onde colocar o código para adicionar grupos programaticamente?

Eu tenho tentado encontrar a resposta nos documentos de autenticação do Django, mas não consigo encontrar o que estou procurando.

O problema que estou enfrentando é que, quando defino o código para adicionar grupos (o mesmo que grupos na página de administração):

#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')

Quando eu executo esse código em models.py einiciar.py e os dois me deram este erro:

django.core.exceptions.AppRegistryNotReady

Presumo que isso se deva ao Modelo /iniciar tentando inserir coisas no django app / admin muito cedo?

Como posso adicionar esses grupos programaticamente?

EDITAR:

Esta não é uma pergunta duplicada; na verdade, estava adicionando permissão e grupos nos modelos durante a instalação do projeto, e não através do shell.

Eu resolvi esses problemas usando sinais e receptores (módulos django).

Eu adicionei o código para criar as permissões / grupos em sua própria função e decorada com um receptor (post_migrate), que executará essa função após a conclusão das migrações, removendo esse erro.

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

questionAnswers(1)

yourAnswerToTheQuestion