Django makemigrations和迁移

时间:2020-10-27 22:33:06

标签: python django

我在使用py manage.py makemigrations [project_name]py manage.py migrate命令时遇到了麻烦。每次我以正确的顺序尝试这两个命令时,都会出现以下错误:

Traceback (most recent call last):
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\manage.py", line 20, in <module>
    main()
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\ll_env\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\ll_env\lib\site-packages\django\core\management\__init__.py", line 365, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\ll_env\lib\site-packages\django\core\management\base.py", line 301, in run_from_argv
    connections.close_all()
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\ll_env\lib\site-packages\django\db\utils.py", line 225, in close_all
    connection.close()
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\ll_env\lib\site-packages\django\db\backends\sqlite3\base.py", line 190, in close
    if not self.is_in_memory_db():
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\ll_env\lib\site-packages\django\db\backends\sqlite3\base.py", line 287, in is_in_memory_db
    return self.creation.is_in_memory_db(self.settings_dict['NAME'])
  File "C:\Users\Gilbert\PycharmProjects\GGprojects\django\ll_env\lib\site-packages\django\db\backends\sqlite3\creation.py", line 13, in is_in_memory_db
    return database_name == ':memory:' or 'mode=memory' in database_name
TypeError: argument of type 'WindowsPath' is not iterable

看着错误,我可能会说我的Python PATH不正确。当前的路径是C:\Users\Gilbert\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.9。那是有错误的原因吗?这会影响我的Django项目吗?另外,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

似乎没有获取数据库路径。在settings.py文件中检查您的数据库名称。

例如:对于sqlite3,它应该类似于:

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': str(os.path.join(BASE_DIR, "db.sqlite3"))
   }
 }

如果这不适用于您,请在此处共享您的数据库设置,以便我提供帮助