В процессе работы с сигналами я обнаружил, что Django не загружает приложения до некоторого момента после запуска приложения __init__.py, что имеет смысл. Но когда загружает приложения Django? Вот код, который привел меня сюда, все части приложения под названием imt_prod
:
__ init __. Py
import imt_prod.signals
signal.py
from django.contrib.auth.signals import user_logged_in
# This produces 'django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.'
from imt_prod.models import LoginHistory
def recordLogon(sender, user, request, **kwargs):
from imt_prod.models import LoginHistory # This does not
LoginHistory.objects.get_or_create(User=user)
user_logged_in.connect(recordLogon)
models.py
from django.contrib.auth.models import User
from django.db import models
class LoginHistory(models.Model):
User = models.OneToOneField(User, null=False, blank=False, on_delete=models.SET("USER DELETED"), verbose_name="User")
date = models.DateField(default=date.today, null=False, blank=False, verbose_name="Logon Date")