Di seguito è riportato il mio codice nel file signals.py inserito nel pacchetto in cui è definito il modello auth.in django 1.8, come impostare il mittente per il ricevitore del segnale post_migrate e post_syncdb quando viene impostato un modello utente personalizzato?
@receiver(post_migrate, sender=settings.AUTH_USER_MODEL)
def define_groups(sender, **kwargs):
# Create groups
Group.objects.get_or_create(name='Promoter')
Group.objects.get_or_create(name='Client')
Group.objects.get_or_create(name='Superuser')
Group.objects.get_or_create(name='Staff')
La documentazione (https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#referencing-the-user-model) afferma che dovrebbe essere impostato come
sender=settings.AUTH_USER_MODEL
mentre questo funziona solo per post_save come detto nell'esempio documentazione.
Ho già provato get_user_model() e anche direttamente con i my_custom_user.models.
get_user_model() restituisce un errore, durante l'impostazione modelli come mittente funziona bene, come -
from . import models
@receiver(post_syncdb, sender=models)
def define_groups(sender, **kwargs):
# Create groups
Group.objects.get_or_create(name='Promoter')
Group.objects.get_or_create(name='Client')
Group.objects.get_or_create(name='Superuser')
Group.objects.get_or_create(name='Staff')
Ma secondo la documentazione non è questo il modo giusto per fare riferimento un modello di utente personalizzato ed è solo una brutta soluzione.
Qualcuno potrebbe essere in grado di aiutarmi con una soluzione in modo da poter aggiungere questi gruppi con la prima migrazione del modello utente.
Thank You
EDIT: usando get_user_model() restituisce il seguente errore -
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
Ciao @ RA123, sto cercando di archiviare lo stesso problema, ma il mio segnale personalizzato non viene attivato. Qualsiasi suggerimento è benvenuto. Grazie in anticipo. – slackmart