没有要应用的迁移

3 投票
4 回答
22146 浏览
提问于 2025-04-20 08:07
$python manage.py syncdb
Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  No migrations to apply.
  Your models have changes that are not yet reflected in a migration, and so won't be applied.
  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

这是一个错误的截图

在这里输入图片描述

我不知道问题出在哪里!

4 个回答

0

你好朋友,如果经过这些步骤后问题仍然存在,可以试试以下方法:

1- 清空数据库中的所有表。

2- 清除你项目目录中迁移文件夹里的所有历史记录。

3- 输入命令:python manage.py makemigrations

4- 输入命令:python manage.py migrate

2

这可能是因为你还没有在settings.py文件中注册你的应用。你需要在这个文件里安装你的应用(把你的应用名称放在引号里)。之后,你可以运行命令python3 manage.py makemigrations,然后再运行python3 manage.py migrate(这里可以用python3,也可以直接用python,不加3)。

INSTALLED_APPS = [
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'new_app_name',
] 
2

你能做的最好的事情就是,删除现有的数据库。
在我的情况下,我使用的是phpMyAdmin这个SQL数据库,所以我手动在那边删除了创建的数据库。
然后再运行以下命令:

python manage.py makemigrations

python manage.py migrate

python manage.py makemigrations <app_name>

python manage.py migrate

5

根据命令行的输出信息,问题是你修改了模型。解决办法是先运行 python manage.py makemigrations,然后再运行 python manage.py migrate

撰写回答