Как получить доступ к модели Django вне проекта Django

Приведенная ниже проблема возникла после просмотра всех соответствующих вопросов, но, к сожалению, ни один из ответов не привел к решению в моем случае (похожая проблема, как: Как получить доступ к моделям Django вне Django? ).

(с Django версии: 4.1.1)

Имея приложение "simo" с соответствующей моделью, доступ к базе данных хорошо работает из оболочки Django, но при попытке получить доступ к ней извне Django как "scheduling.py", он просто не работает.

    import os
    import django
        
    os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
    django.setup()
        
    from django.db import models
    from simo.models import Tasks

Я пытался выполнить свой скрипт python в любой папке:

  • рядом с файлом manage.py,
  • рядом с settings.py и
  • рядом с models.py, но ни один из них не работает.
[mysite]
    [mysite]
        [simo]
            [migrations]
            views.py
            models.py
            urls.py
            __init__.py
            apps.py
            tests.py
            admin.py
        settings.py
        urls.py
        __init__.py
        wsgi.py
        asgi.py
    scheduling.py
    __init__.py
    db.sqlite3
    manage.py

Полученная ошибка:

C:\...\python.exe C:/.../mysite/scheduling.py
Traceback (most recent call last):
  File "C:\...\mysite\scheduling.py", line 5, in <module>
    django.setup()
  File "C:\...\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\...\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\...\lib\site-packages\django\apps\config.py", line 178, in create
    mod = import_module(mod_path)
  File "C:\...\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'simo'

Process finished with exit code 1

Может кто-нибудь подсказать, как решить эту проблему?

Попробуйте позвонить

from django.db import models и from simo.models import Tasks перед django.setup()

Вы можете создать пользовательские команды Django

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