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

Я пытаюсь получить доступ к моим моделям Django из скрипта, который будет выполняться вне представлений Django. Это будет отдельный скрипт, не связанный с представлениями Django и т.д., однако, я хотел бы иметь возможность использовать Django ORM для обновления полей в базе данных.

Мой отдельный скрипт находится в директории данных:

enter image description here

Я пробовал бесконечные предложения от SO, такие как код ниже, но я продолжаю сталкиваться с аналогичной проблемой - "ModuleNotFoundError: Нет модуля с именем 'nft.settings'"

import django
import sys
import os
sys.path.append('/Users/chris/Documents/Python/Django/nft/')  # This path being the directory at the top of my screenshot
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "nft.settings")
django.setup()
from nft_app.models import Object

Любая помощь будет очень признательна

Короткий ответ заключается в том, что python ищет пакеты в текущем каталоге и в PATH. Поскольку вы запускаете python script.py в каталоге nft/data, он ищет nft/data/nft пакет nft.

Одним из решений этой проблемы является добавление nft/nft каталога в переменную окружения PYTHONPATH.

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