ModuleNotFoundError: Нет модуля с именем 'madlibs_project' django.core.exceptions.AppRegistryNotReady: Приложения еще не загружены
Я попробовал все решения, которые я видел, но у меня все еще та же ошибка. Я пытаюсь заполнить свою базу данных некоторыми поддельными данными, сгенерированными в файле ниже:
population_madlibs_app.py
import random
from madlibs_app.models import User
from faker import Faker
import django
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'madlibs_project.settings')
django.setup()
fakegen = Faker()
fname = ['Charles', 'Stephen', 'Mike', 'Cornell', 'John', 'Yemi', 'Tomiwa']
lname = ['Nurudeen', 'Ayotunde', 'Ajiteru',
'Kolade', 'Babatunde', 'Ifeanyi', 'Ola']
email_client = ['yahoo.com', 'gmail.com', 'outlook.com']
def add_user():
fname = random.choice(fname)
lname = random.choice(lname)
emailed = '{}.{}@{}'.format(fname, lname, random.choice(email_client))
ur = User.objects.get_or_create(
first_name=fname, last_name=lname, email=emailed)[0]
ur.save()
return ur
def populate(n=1):
for entry in range(n):
create_user = add_user()
if __name__ == '__main__':
print('Processing...')
populate(10)
print('Succesfully created!')
Но я продолжаю получать следующую ошибку:
Traceback (most recent call last):
File "C:\Users\Madlibs\Desktop\madlibs\madlibs_project\population_madlibs_app.py", line 2, in <module>
from madlibs_app.models import User
File "C:\Users\Madlibs\Desktop\madlibs\madlibs_project\madlibs_app\models.py", line 6, in <module>
class User(models.Model):
File "C:\Users\Madlibs\anaconda3\envs\madlibs\lib\site-packages\django\db\models\base.py", line 127, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\Users\Madlibs\anaconda3\envs\madlibs\lib\site-packages\django\apps\registry.py", line 260, in get_containing_app_config
self.check_apps_ready()
File "C:\Users\Madlibs\anaconda3\envs\madlibs\lib\site-packages\django\apps\registry.py", line 138, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Я проверил и видел несколько решений, включая установку DJANGO_SETTINGS_MODULE=madlibs_project.settings в cmd virtual env, но решения все еще нет.
Это мой файл settings.py.
Проблема заключается в том, что вы пытаетесь импортировать модель до django.setup()
.
Попробуйте изменить ваш код на следующий, обратите внимание, что django.set()
перемещается перед импортом модели.
import django
import random
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'madlibs_project.settings')
django.setup()
from madlibs_app.models import User
from faker import Faker
fakegen = Faker()
fname = ['Charles', 'Stephen', 'Mike', 'Cornell', 'John', 'Yemi', 'Tomiwa']
lname = ['Nurudeen', 'Ayotunde', 'Ajiteru',
'Kolade', 'Babatunde', 'Ifeanyi', 'Ola']
email_client = ['yahoo.com', 'gmail.com', 'outlook.com']
def add_user():
fname = random.choice(fname)
lname = random.choice(lname)
emailed = '{}.{}@{}'.format(fname, lname, random.choice(email_client))
ur = User.objects.get_or_create(
first_name=fname, last_name=lname, email=emailed)[0]
ur.save()
return ur
def populate(n=1):
for entry in range(n):
create_user = add_user()
if __name__ == '__main__':
print('Processing...')
populate(10)
print('Succesfully created!')