You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows Server 10中删除Django未应用迁移并移除启动提示?

解决Django启动时未应用迁移提示及删除未应用迁移的方法

我懂你看到这个提示时想快速消除它的心情,不过先得搞清楚背后的逻辑——Django的迁移是用来同步数据库和模型定义的,这些未应用的迁移其实是系统默认的admin、auth这些核心应用的迁移,正常来说应该先应用它们,不过如果你确实有特殊需求要删除这些未应用迁移并去掉提示,下面是具体步骤:

一、常规推荐:应用迁移(解决提示的标准方法)

其实Django给出的提示已经说得很清楚了,这些未应用的迁移是核心应用必要的,不应用的话后续admin后台、用户认证这些功能可能会出问题。解决这个提示最稳妥的方式就是执行它建议的命令:

  • 打开命令行,进入你的Django项目根目录(就是存放manage.py的文件夹)
  • 执行命令:python manage.py migrate
    这个命令会自动将所有未应用的迁移(包括admin、auth这些核心应用的)同步到数据库,执行完之后再启动服务器,那个提示就会消失了,而且核心功能能正常运行。

二、删除未应用迁移并移除提示(谨慎操作)

如果你确定不需要这些核心应用的迁移(比如你完全不用admin后台、用户认证系统),可以按以下步骤操作:

步骤1:删除未应用的迁移文件

  • 找到每个目标应用的migrations文件夹,比如admin/migrations/、auth/migrations/、contenttypes/migrations/、sessions/migrations/
  • 删除这些文件夹里除了__init__.py之外的所有文件(如果删掉__init__.py,Django会识别不到这个应用的迁移模块)

步骤2:清理数据库中的迁移记录

Django会在数据库的django_migrations表中记录已应用的迁移,所以还要清理这部分:

  • 进入Django的shell:python manage.py shell
  • 执行以下代码(假设你用的是默认的数据库配置):
from django.db import connection
with connection.cursor() as cursor:
    cursor.execute("DELETE FROM django_migrations WHERE app IN ('admin', 'auth', 'contenttypes', 'sessions');")
  • 退出shell:输入exit()

步骤3:从项目配置中移除不需要的应用(可选)

如果这些核心应用你完全用不到,可以直接从settings.py的INSTALLED_APPS里删掉它们,这样Django启动时就不会再检查这些应用的迁移了:
打开CalcProject/settings.py,找到INSTALLED_APPS列表,移除以下条目:

  • django.contrib.admin
  • django.contrib.auth
  • django.contrib.contenttypes
  • django.contrib.sessions
    这样之后启动服务器,就不会再出现相关的迁移提示了。

注意!这种方式只适合你完全不需要这些核心功能的场景,否则会导致admin后台无法访问、用户认证失效等问题,一定要谨慎操作!

内容的提问来源于stack exchange,提问作者Jeywanth Kannan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:34:30