Python中文
首页
教程
问答
标签
搜索
登录
注册
Django删除的表仍然存在
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我的一个django应用程序中的模型有问题。在</p> <p>我可以创建模型的一个实例,但是当我访问它时,我得到一个错误:</p> <pre><code># create and save model instance user_form = UserSearchForm(user=user) user_form.save() # Then later first_user_form = UserSearchForm.objects.all()[0] (1146, "Table 'project.app_tablename' doesn't exist") Request Method: GET Request URL: http://10.0.75.1:8000/search/ Django Version: 1.9.5 Exception Type: ProgrammingError Exception Value: (1146, "Table 'project.app_tablename' doesn't exist") Exception Location: /opt/project-venv/lib/python3.4/site-packages/MySQLdb/connections.py in query, line 280 Python Executable: /opt/project-venv/bin/python Python Version: 3.4.3 Python Path: ['/opt/project/project', '/opt/project-venv/lib64/python34.zip', '/opt/project-venv/lib64/python3.4', '/opt/project-venv/lib64/python3.4/plat-linux', '/opt/project-venv/lib64/python3.4/lib-dynload', '/usr/lib64/python3.4', '/usr/lib/python3.4', '/opt/project-venv/lib/python3.4/site-packages'] Server time: Tue, 28 Mar 2017 22:50:16 +0000 </code></pre> <p>我使用的是Django 1.95,我从链接的答案(<a href="https://stackoverflow.com/a/36565161/2516846">https://stackoverflow.com/a/36565161/2516846</a>)中尝试了以下操作:</p> <ol> <li>删除应用程序迁移文件夹</li> <li>删除所有应用程序表,例如删除表搜索\u usersearchform</li> <li>Delete all migrations from db:Delete from django_migrations WHERE app='search'。在</li> <li>Python管理.py进行迁移搜索</li> <li>Python管理.py迁移</li> </ol> <p>但是,当我运行migrate时,会出现错误:</p> ^{pr2}$ <p>摘要:无法再次创建模型,因为关系已经存在,但无法访问我的应用程序中的模型,因为它说表不存在</p> <p>是否有对存储在其他位置的此表/模型的引用需要删除?如果我删除了表,删除了migrations文件夹并从db中删除了migrations,我不知道这个关系是如何存在的</p> <h3>编辑</h3> <p>好吧,终于解决了。在</p> <p>我的项目有两个数据库,一个是使用postgres的“default”数据库,另一个是使用mysql的“secondary”数据库。在</p> <p>当我在应用程序中创建新模型并运行迁移时,表被添加到默认数据库中。<br/> 这使我能够创建新模型的实例。在</p> <p>但是,当我访问以前保存的实例时,我得到一个错误消息,说表不存在。在</p> <p>原来是我的应用程序造成的路由器.py,它将所有查询重定向到“secondary”数据库,该数据库当然没有该表。<br/> 为了解决这个问题,我向中的db_for_write和db_for_read方法添加了条件路由器.py,将这些模型路由到“默认”数据库。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>备份模型.py,从原始代码中删除模型代码模型.py,然后运行:</p> <pre><code>python manage.py makemigrations python manage.py migrate </code></pre> <p>然后简单地在中恢复模型代码模型.py再次运行上述命令。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
5 回答
将Pandas数据帧转换为scipy稀疏矩阵
5 回答
将Pandas数据帧转换为Spark Datafram时出现问题
2 回答
将pandas数据帧转换为spark DataFram时出错
3 回答
将Pandas数据帧转换为spark datafram时收到错误
3 回答
将Pandas数据帧转换为Spark数据帧
3 回答
将Pandas数据帧转换为Tensorflow数据
9 回答
将Pandas数据帧转换为tkinter obj
4 回答
将pandas数据帧转换为XML
3 回答
将Pandas数据帧转换为值sql语句
3 回答
将pandas数据帧转换为元组
2 回答
将pandas数据帧转换为元组列表
8 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
4 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
7 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
5 回答
将pandas数据帧转换为内存中类似文件的对象?
5 回答
将Pandas数据帧转换为内存功能(&F)
5 回答
将pandas数据帧转换为列表列表
4 回答
将pandas数据帧转换为列表列表以输入到RNN
8 回答
将Pandas数据帧转换为单行DataFram
4 回答