将Django项目从sqlite更新到Postgres:未指定manage.py,ModuleNotFoundError

将Django项目从sqlite更新到Postgres:未指定manage.py,ModuleNotFoundError,django,postgresql,Django,Postgresql,在我的第一个Django项目中,我开始使用sqlite数据库,现在我切换到Postgres。我编写和测试的代码的第一部分是导入管理命令,用于从文件中读取记录并为其创建数据库记录,这非常有效。因此,为了开始进行更改,我更新了settings.py中的默认数据库信息,并对其进行了如下迁移: python3 manage.py migrate --database=default 当我在pgAdmin 4中查看新数据库时,我可以看到正确的表结构(只是还没有填充任何行),并且字段max值似乎与模型中的

在我的第一个Django项目中,我开始使用sqlite数据库,现在我切换到Postgres。我编写和测试的代码的第一部分是导入管理命令,用于从文件中读取记录并为其创建数据库记录,这非常有效。因此,为了开始进行更改,我更新了settings.py中的默认数据库信息,并对其进行了如下迁移:

python3 manage.py migrate --database=default
当我在pgAdmin 4中查看新数据库时,我可以看到正确的表结构(只是还没有填充任何行),并且字段max值似乎与模型中的值完全匹配-万岁!我还添加了一些代码,以从环境变量获取ENV_角色和数据库密码,如下所示:

接下来,我运行导入管理命令,问题:我可以从终端成功运行该命令,但当我尝试从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
设置->Django支持中未指定manage.py文件
/usr/local/bin/python3.8/Library/Frameworks/Python.framework/Versions/3.8/bin/django-admin.py importgedcom Test_tree.ged
回溯(最近一次呼叫最后一次):
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site packages/django/core/management/_init__.py”,第224行,在fetch_命令中
app_name=命令[子命令]
KeyError:“importgedcom”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/Library/Frameworks/Python.framework/Versions/3.8/bin/django admin.py”,第5行,在
管理。从命令行()执行命令
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site packages/django/core/management/_init__.py”,第401行,从命令行执行
utility.execute()
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site packages/django/core/management/__init__.py”,第395行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site packages/django/core/management/_init__.py”,第231行,在fetch_命令中
settings.INSTALLED\u应用程序
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/_-init____;.py”,第76行,在__
自我设置(名称)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/_-init____;.py”,第63行,在安装程序中
自包装=设置(设置模块)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/conf/_-init____;.py”,第142行,在_u-init中__
mod=importlib.import\u模块(自我设置\u模块)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/\uuuu init\uuuuu.py”,第127行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第1014行,在\u gcd\u导入中
文件“”,第991行,在“查找”和“加载”中
文件“”,第973行,在“查找”和“加载”中解锁
ModuleNotFoundError:没有名为“mysite.settings”的模块
进程已完成,退出代码为1
我在这里看到了一些有趣的地方,可能是在我的设置中从终端运行PyCharm vs时出现了多个/不同的问题:

  • 在设置->Django支持中未指定manage.py文件
    。我对管理命令的配置始终包括以下内容:
    DJANGO\u SETTINGS\u MODULE=mysite.SETTINGS我对配置做了一次更新,只是为了添加
    ENV_ROLE=development

  • ModuleNotFoundError:没有名为“mysite.settings”的模块
    。我没有重命名项目或应用程序,只更新了settings.py(默认数据库和环境逻辑)

更新:我可以在调试模式下一步一步地运行它直到完成,我只在点击PyCharm的绿色播放按钮运行它时看到错误


这些错误甚至在代码执行任何操作之前就发生了(我没有在add_参数或handle方法中打印语句),因此设置存在一些问题。关于下一步检查/做什么有什么建议,或者我能提供更多信息来帮助确定下一步的步骤吗

您可以发布
DJANGO\u SETTINGS\u模块
env变量的输出吗?那么这个
importgedcom
命令从文件读取数据并在数据库中创建对象?为了帮助调试,您可以在代码中插入一些
print
语句,以便在创建对象之前打印要传递给db的值。当命令再次失败时,将更容易确定哪些值比预期值长。谢谢!是的,我有两个不同的问题:从终端运行是关于字段长度的,现在已修复,但是从PyCharm内部运行时有一个单独的设置问题-现在将更新上面的描述以反映Joe you在做什么-当我回显$DJANGO_SETTINGS_模块时,它似乎是空的(尽管我一直将它设置为mysite.settings)您可以发布
DJANGO\u SETTINGS\u模块
env变量的输出吗?因此,此
importgedcom
命令从文件读取数据并在数据库中创建对象?为了帮助调试,您可以在代码中插入一些
print
语句,以打印在创建对象之前传递给数据库的值命令再次失败,将更容易识别哪些值比预期值长。谢谢你们!是的,我有两个不同的问题:从终端运行时都是关于字段长度的,现在已修复,但从PyCharm内部运行时有一个单独的设置问题-现在将更新上面的描述,以反映您所关注的Joe方法-当我回显$DJANGO\u SETTINGS\u模块时,它似乎是空的(尽管我一直将它设置为mysite.SETTINGS)