在学习Django创建模型,连接MySQL数据库,生成迁移文件时出错,求大佬帮解决下

这是我学习时的笔记:

https://blog.csdn.net/u013916480/article/details/104819213

D:\software\Django_project\project_test>python manage.py makemigrations
Traceback (most recent call last):
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
    self.connect()
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\base\base.py", line 195, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\sqlite3\base.py", line 194, in get_new_connection
    conn = Database.connect(**conn_params)
sqlite3.OperationalError: unable to open database file

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\commands\makemigrations.py", line 101, in handle
    loader.check_consistent_history(connection)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\migrations\loader.py", line 283, in check_consistent_history
    applied = recorder.applied_migrations()
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\migrations\recorder.py", line 73, in applied_migrations
    if self.has_table():
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\migrations\recorder.py", line 56, in has_table
    return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor())
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\base\base.py", line 256, in cursor
    return self._cursor()
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\base\base.py", line 233, in _cursor
    self.ensure_connection()
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
    self.connect()
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
    self.connect()
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\base\base.py", line 195, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\fengrui\AppData\Local\Programs\Python\Python38\lib\site-packages\django\db\backends\sqlite3\base.py", line 194, in get_new_connection
    conn = Database.connect(**conn_params)
django.db.utils.OperationalError: unable to open database file

django.db.utils.OperationalError: unable to open database file
无法打开数据库文件

检查文件的路径权限是否存在是否合法

你的所有步骤都在一台机器上完成吗?还是拷贝过项目。
可能两种情况:
一 、 如果你在高版本的sqlite3 上建立了django项目 , 拷贝到配置了低版本sqlite的 python 环境, 那么 打开文件时, 就会有这个提示。

二 、 另外, 如果 db 文件损坏,也会造成这个提示。

如果是第一种情况,有两种解决方法。
1、 升级运行项目的 环境中 sqlite 到最新
2 、 重新 django-admin startproject , 再把相关的 模板文件, py 文件 拷贝到新项目中。 记得 不要拷贝旧项目的 db 文件