Im Folgenden finden Sie meinen Code in der Datei signals.py, die in dem Paket enthalten ist, in dem das Authentifizierungsmodell definiert ist. in Django 1.8, wie man den Absender für post_migrate und post_syncdb Signalempfänger setzt, wenn ein benutzerdefiniertes Benutzermodell eingestellt ist?
@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')
Die Dokumentation (https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#referencing-the-user-model) besagt, dass es als
sender=settings.AUTH_USER_MODEL
während dies funktioniert nur für post_save gesetzt werden soll, wie in der Dokumentation Beispiel erwähnt.
Ich habe bereits versucht get_user_model() und auch direkt mit dem my_custom_user.models.
get_user_model() einen Fehler zurückgibt, während Modelle als Absender nur gut, wie funktioniert Einstellung -
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')
Aber nach Dokumentation ist dies nicht der richtige Weg, ein eigenes Benutzermodell beziehen und ist nur ein hässlicher Workaround.
Wäre jemand bitte in der Lage, mir mit einer Lösung zu helfen, damit ich diese Gruppen mit der ersten Migration des Benutzermodells hinzufügen kann.
Danke
EDIT: mit get_user_model() gibt den folgenden Fehler -
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
Hallo @ RA123, ich versuche, das gleiche Problem zu archivieren, aber mein benutzerdefiniertes Signal wird nicht ausgelöst. Jeder Vorschlag ist willkommen. Danke im Voraus. – slackmart