Как исправить ошибку Apps are not loaded yet в Django

Я новичок в Django и SQL. У нас есть четыре таблицы Категория, Продавец, Товар, Товар_продавец. Каждый продукт имеет одну категорию. каждый продавец может продавать продукт. Предположим, что вы не продаете один и тот же продукт несколько раз, и каждый продавец продает каждый продукт не более одного раза. Мы хотим найти продукты, которые имеют более 5 продавцов. и мы хотим найти вторую категорию, которая имеет наибольшее количество продуктов. Я хочу запустить SQL-код в Django. Я настроил параметры для использования ORM, но когда я запускаю программу, возникает ошибка 'Apps are not loaded yet'. Пожалуйста, дайте мне знать, как я могу это исправить.

вот код:

import os
import sys
import django
from django.conf import settings

INSTALLED_APPS = [
    'orm',
    'myapps',
]

DATABASES = {
    'default': {
        'ENGINE' : 'django.db.backends.mysql',
        'NAME' : 'db',
        'USER' : 'admin',
        'PASSWORD' : '',
        'HOST' : 'localhost',
    }
}

settings.configure(
    INSTALLED_APPS = INSTALLED_APPS ,
    DATABASES = DATABASES
,
)

django.setup()

if __name__ == "__main__":
    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)
    
import manage
from orm.models import Label

if __name__ == '__main__':

    Label.objects.create(name='test')
    print(Label.objects.get(name='test'))

from django.db import models
from django.db import connection
class Category(models.Model):
    title = models.CharField(max_length=128)
class Seller(models.Model):
    name = models.CharField(max_length=128)
    product = models.ForeignKey(
    Product,
    on_delete=models.CASCADE,
    related_name='Seller'
    )
class Product(models.Model):
    category_id = models.ForeignKey(
    Category,
    on_delete=models.CASCADE,
    related_name='Product'),
    rate = models.IntegerField(blank=True, null=True)
class ProductSeller(models.Model):
    
    product_id = models.ForeignKey(product),
    seller_id = models.ForeignKey(seller),
    price = models.IntegerField(blank=True, null=True) 
    
cursor = connection.cursor()
cursor.execute("""
    SELECT product_id 
    FROM ProductSeller
    GROUP BY product_id 
    HAVING COUNT(product_id) > 5
""")
cursor.execute("""
SELECT category_id
FROM Product
GROUP BY category_id 
HAVING MAX(mycount)
FROM(SELECT category_id, Count(category_id) mycount
    FROM orders
    GROUP BY category_id)
AND NOT IN(SELECT category_id
FROM Product
GROUP BY category_id 
HAVING MAX(mycount)
FROM(SELECT category_id, Count(category_id) mycount
    FROM orders
    GROUP BY category_id));
""")


вот ошибка:


RuntimeError                              Traceback (most recent call last)
<ipython-input-3-7a6989f760e8> in <module>
     23 settings.configure(
     24     INSTALLED_APPS = INSTALLED_APPS ,
---> 25     DATABASES = DATABASES
     26 ,
     27 )

~/anaconda3/lib/python3.7/site-packages/django/conf/__init__.py in configure(self, default_settings, **options)
    102         """
    103         if self._wrapped is not empty:
--> 104             raise RuntimeError('Settings already configured.')
    105         holder = UserSettingsHolder(default_settings)
    106         for name, value in options.items():

RuntimeError: Settings already configured.
AppRegistryNotReady                       Traceback (most recent call last)
<ipython-input-4-c39e5fb17be5> in <module>
      1 from django.db import models
      2 from django.db import connection
----> 3 class Category(models.Model):
      4     title = models.CharField(max_length=128)
      5 class Seller(models.Model):

~/anaconda3/lib/python3.7/site-packages/django/db/models/base.py in __new__(cls, name, bases, attrs, **kwargs)
    105 
    106         # Look for an application configuration to attach the model to.
--> 107         app_config = apps.get_containing_app_config(module)
    108 
    109         if getattr(meta, 'app_label', None) is None:

~/anaconda3/lib/python3.7/site-packages/django/apps/registry.py in get_containing_app_config(self, object_name)
    250         Return None if the object isn't in any registered app config.
    251         """
--> 252         self.check_apps_ready()
    253         candidates = []
    254         for app_config in self.app_configs.values():

~/anaconda3/lib/python3.7/site-packages/django/apps/registry.py in check_apps_ready(self)
    133             # exception.
    134             settings.INSTALLED_APPS
--> 135             raise AppRegistryNotReady("Apps aren't loaded yet.")
    136 
    137     def check_models_ready(self):

AppRegistryNotReady: Apps aren't loaded yet.

Вернуться на верх