在 Django 中更改数据库后的迁移问题

Problem with migration after changing database in Django

所以我使用 MySQL 作为数据库后端引擎,在将其改回 SQLite 后我无法进行迁移。尝试删除迁移和 db.sqlite3 文件,但它仍然无法正常工作。控制台向我显示错误

django.db.utils.OperationalError: no such table: books_api_book


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': config.get("NAME"),
        'HOST': config.get("HOST"),
        'PORT': '3306',
        'USER': config.get("USER"),
        'PASSWORD': config.get("PASSWORD")
    }
}

新建

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / "db.sqlite3",
    }
}

命令显示什么?

python manage.py showmigrations

我认为您应该尝试删除文件夹迁移中的文件,__init__.py 除外。

之后运行 :

py manage.py makemigrations

如果您的项目目录中有 sqlite,则将其删除。在你的迁移文件夹中删除除 init.py. 和 运行 python [=22 之外的所有内容=] makemigrations AppName 然后迁移.

希望对你有所帮助

我真的找到了答案。问题是在我的模型中我有静态方法 values-list 并从某个字段获取所有值。我注释掉了,正常迁移。