В моем первом Django проекте я начал с базы данных sqlite, и теперь я переключаюсь на Postgres. Первой частью кода, который я написал и протестировал, была команда управления импортом для чтения записей из файла и создания записей базы данных для них, и это прекрасно работает. Поэтому, чтобы начать вносить изменения, я обновил информацию базы данных по умолчанию в settings.py и запустил миграции для нее следующим образом:
python3 manage.py migrate --database=default
Я вижу правильную структуру таблицы при просмотре новой базы данных в pgAdmin 4 (просто пока еще не заполнено ни одной строки) - и максимальные значения поля, кажется, все соответствуют тому, что есть в модели - ура! Я также добавил некоторый код для получения ENV_ROLE и пароля базы данных из переменных среды, как рекомендовано здесь: https://ultimatedjango.com/learn-django/lessons/handling-sensitive-keys/
Далее я запускаю команду управления импортом и проблема : я могу успешно запустить это из терминала, но когда я пытаюсь запустить его из PyCharm, я получаю ошибки, которых я никогда не видел при запуске с использованием базы данных sqlite:
No manage.py file specified in Settings->Django Support
/usr/local/bin/python3.8 /Library/Frameworks/Python.framework/Versions/3.8/bin/django-admin.py importgedcom Test_tree.ged
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 224, in fetch_command
app_name = commands[subcommand]
KeyError: 'importgedcom'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/bin/django-admin.py", line 5, in <module>
management.execute_from_command_line()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/management/__init__.py", line 231, in fetch_command
settings.INSTALLED_APPS
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/__init__.py", line 76, in __getattr__
self._setup(name)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/__init__.py", line 63, in _setup
self._wrapped = Settings(settings_module)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/__init__.py", line 142, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mysite.settings'
Process finished with exit code 1
Я вижу несколько там есть интересные биты, вероятно, множественные / разные проблемы в моей установке, запущенные из PyCharm против терминала:
No manage.py file specified in Settings->Django Support
. Моя конфигурация для команды управления всегда включала это: DJANGO_SETTINGS_MODULE=mysite.settings;
Я сделал одно обновление конфигурации, просто добавив ENV_ROLE=development
ModuleNotFoundError: No module named 'mysite.settings'
. Я не переименовал проект или приложение, только обновил settings.py (база данных по умолчанию и логи среды c)
ОБНОВЛЕНИЕ: я могу запустить это до завершение при переходе в режиме отладки, я вижу ошибку только тогда, когда я нажимаю зеленую кнопку воспроизведения PyCharm, чтобы запустить его.
Эти ошибки происходят еще до того, как код что-либо делает (я не делаю это для печати операторов в методах add_arguments или handle), поэтому есть некоторые проблемы с настройкой. Любой совет о том, что делать / что делать дальше, или я могу дать больше информации, которая поможет определить следующие шаги?