python - django中的迁移错误,我遇到了什么错误?
问题描述
我正在尝试使用命令迁移我的更改
python manage.py migrate
我已经运行了命令,
python manage.py makemigrations accounts
成功返回,
Migrations for 'accounts':
accounts/migrations/0001_initial.py
- Create model CustomUser
然后在尝试运行时,python manage.py migrate
我收到此错误...
Traceback (most recent call last):
File "/home/mycroft/C/news/manage.py", line 22, in <module>
main()
File "/home/mycroft/C/news/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/mycroft/.local/share/virtualenvs/news-ToLZWqxe/lib/python3.9/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/home/mycroft/.local/share/virtualenvs/news-ToLZWqxe/lib/python3.9/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/mycroft/.local/share/virtualenvs/news-ToLZWqxe/lib/python3.9/site-packages/django/core/management/base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/mycroft/.local/share/virtualenvs/news-ToLZWqxe/lib/python3.9/site-packages/django/core/management/base.py", line 371, in execute
output = self.handle(*args, **options)
File "/home/mycroft/.local/share/virtualenvs/news-ToLZWqxe/lib/python3.9/site-packages/django/core/management/base.py", line 85, in wrapped
res = handle_func(*args, **kwargs)
File "/home/mycroft/.local/share/virtualenvs/news-ToLZWqxe/lib/python3.9/site-packages/django/core/management/commands/migrate.py", line 95, in handle
executor.loader.check_consistent_history(connection)
File "/home/mycroft/.local/share/virtualenvs/news-ToLZWqxe/lib/python3.9/site-packages/django/db/migrations/loader.py", line 302, in check_consistent_history
raise InconsistentMigrationHistory(
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency accounts.0001_initial on database 'default'.
我对 django 很陌生,似乎无法弄清楚我做错了什么。任何帮助将不胜感激!
解决方案
也许您对您的 models.py 文件进行了一些更改,而这些更改与初始数据库结构不相符。如果您可以跟踪和撤消最近的更改,它可能会有所帮助,否则您将不得不删除数据库,删除您的account
应用程序的所有迁移文件。然后重复 makemigration、migrate 和 createsuperuser 进程。
推荐阅读
- linux - 在 JavaFX 应用程序中检测 HIDPI 设置
- reactjs - 我应该怎么办?如何将图像上传到 Storage 和 addDoc() 到 FireStore
- parameters - “NoneType”对象不可用于装饰器函数
- wordpress - 如何为 JSON 对象内的数据编写 REST API 查询
- plotly - 如何在 JupyterLab 3+ 中显示 Plotly 数字?
- javascript - 未捕获的类型错误:获取计算机的本地 IP 地址时,无法在 javascript 代码中读取 null 的属性“1”
- mysql - 创建表,将某些列的类型定义为某个函数的返回类型
- python - 我正在实现“异或”功能,但它失败了
- java - 如何解决错误以及如何使用 oops 概念做得更好?
- javascript - 是否可以在 iFrame 中伪造国家/地区?