django:app x中的migration x没有Migration类

问题描述 投票:7回答:3

这是确切的错误

django.db.migrations.loader.BadMigrationError: Migration 0001_initial in app django_comments has no Migration class

我不知道这意味着什么,我不知道该往哪里去。我做了一些我的venv工作,做了一个新的,然后我试图让一切恢复正常。安装这个和那...我忘记了我正在做的一切,因为我的笔记本电脑死了,真让我生气。

不知道从哪里开始?

编辑:

如果我尝试升级django_comments,我会收到以下错误:

 Could not find a version that satisfies the requirement django-comments (from versions: 0.2a, 0.3.1a, 0.3.2a, 0.3.3a, 0.3a, 1.0.0.b, 1.0.0.b, 1.0.0.b)

清理...没有与django-comments版本匹配的发行版在/home/jeff/.pip/pip.log中存储失败的调试日志

python django postgresql django-migrations
3个回答
2
投票

由于问题与迁移有关,您必须首先了解它是如何工作的,django检查数据库模式是否将其与模型进行比较然后生成迁移脚本。每次迁移脚本都会执行一次,因为django会一直跟踪您的迁移。这由一个名为django_migrations的表管理,该表在第一次运行迁移时在数据库中创建。所以我会建议两件事:

  1. 如果您的数据库中没有数据,或者没有重要数据,那么我建议删除它并创建新数据然后再次应用所有迁移
  2. 如果您有重要数据,请尝试查看qazxsw poi表并删除包含django注释迁移的行,并且很可能删除对应表,以便您可以再次应用迁移

10
投票

我遇到了这个问题,结果发现我不小心将非迁移文件复制到了我的一个迁移文件夹中。删除错误文件为我修复了这个问题。


2
投票

您可能正在使用仅支持Django 1.6的旧版django_migrations。它将在django-contrib-comments文件夹中进行南迁移,而不是新的Django迁移。

要解决此问题,只需升级migrations/

django-contrib-comments
© www.soinside.com 2019 - 2024. All rights reserved.