Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从我的项目中完全卸载django taggit?_Python_Django_Django Taggit - Fatal编程技术网

Python 如何从我的项目中完全卸载django taggit?

Python 如何从我的项目中完全卸载django taggit?,python,django,django-taggit,Python,Django,Django Taggit,我想从我的项目中删除,但当我从已安装的应用程序中删除'taggit'应用程序时,出现以下错误: raise NodeNotFoundError(self.error_message, self.key, origin=self.origin) django.db.migrations.exceptions.NodeNotFoundError: Migration SourceManager.0002_auto_20190218_2112 dependencies reference no

我想从我的项目中删除,但当我从
已安装的应用程序中删除
'taggit'
应用程序时,出现以下错误:

    raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration SourceManager.0002_auto_20190218_2112 dependencies reference nonexistent parent node ('taggit', '0002_auto_20150616_2121')

我认为发生这个错误是因为django taggit有迁移文件,那么如何从我的项目中安全地删除它呢

你已经完成了一半。django taggit有迁移文件,这就是您面临错误的原因

您可能希望重置数据库状态并重新应用迁移以避免此错误

详细说明如何重置数据库并重新应用迁移。我建议你循序渐进


警告一句:即使您是Unix操作系统用户,也要执行本教程中给出的命令,避免删除迁移文件。该命令会弄乱Django默认文件,并产生不必要的问题。最好一个接一个地删除迁移文件,一个模型接一个模型。

除了手动编辑旧的迁移文件以删除对taggit的所有引用之外,我认为没有简单的方法。如果您做得正确,只要您不返回到需要它们正确运行的任何位置,它就不会造成任何伤害。这是个坏消息。谢谢您,但我正在寻找一个不那么激进的解决方案。我自己还没有做过,但这里有另一个建议:在删除taggit本身之前,先压缩您的迁移。这将删除压缩迁移中对taggit的所有引用。确保压缩迁移应用于您拥有的所有数据库。然后可以删除旧的迁移文件。并移除taggit。有关详细说明,请参阅。@adnanmuttaleb:恐怕没有比这更激进的解决方案了。如果要删除迁移中存在的依赖项,则必须采取手动步骤。如果你知道自己在做什么,那就没有那么咄咄逼人了。