在Django中手动从MySQL数据库删除表
在Django中试用我的博客应用程序(在Django中手动从MySQL数据库删除表,mysql,django,django-models,Mysql,Django,Django Models,在Django中试用我的博客应用程序(blogapp)期间,我创建了两个模型(类别和语言),使用以下连接将它们连接到另一个模型(Post): category = models.ManyToManyField(Category) language = models.ForeignKey(Language) 然后它给出了一个错误,如由于缺少默认值。尝试使用和的混合体将其回滚。然后我尝试使用添加一个默认值。我得到一个错误“django.db.utils.OperationalError 1050,
blogapp
)期间,我创建了两个模型(类别和语言),使用以下连接将它们连接到另一个模型(Post
):
category = models.ManyToManyField(Category)
language = models.ForeignKey(Language)
然后它给出了一个错误,如由于缺少默认值。尝试使用和的混合体将其回滚。然后我尝试使用添加一个默认值。我得到一个错误“django.db.utils.OperationalError 1050,表XXX已经存在”,然后我尝试了。试图通过手动从migrations文件夹中删除创建的迁移来恢复迁移。在某个时刻,我得到了django(1054,“字段列表中的未知列”)
错误
最后,我决定回到我原来的起点。当我使用python manage.py dbshell
连接到我的MySQL数据库时,我意识到我的MySQL服务器仍然有两个应该删除的表,blogapp_category
和blogapp_language
。服务器工作正常,但当我尝试添加这些模型时,我不断发现“表XXX已经存在”
错误
从MySQL中删除表似乎是目前唯一的选择。
当我跑的时候
mysql> SHOW COLUMNS FROM blogapp_post;
我没有看到任何语言或类别的引用,即没有名为language\u id
或category\u id
的列。我现在有两个问题:
django\u迁移
中删除相应的条目