django - django.db.utils.OperationalError:没有这样的表:Schedule_swimmingscore
问题描述
所以,这是我的模型 SwimmingScore:
class SwimmingScore(models.Model):
team = models.ForeignKey(Team, related_name='team_swimming', on_delete=models.CASCADE)
gold = models.IntegerField(default='0')
silver = models.IntegerField(default='0')
bronze = models.IntegerField(default='0')
fourth = models.IntegerField(default='0')
points = models.IntegerField(default='0')
我使用了命令python manage.py makemigrations然后python manage.py migrate。所以当我通过网站打开管理员时,它显示“没有这样的表”,我已经通过python manage.py dbshell >.table确认了它,实际上没有表 forSwimmingScore,但是当我重新运行python manage.py makemigrations,它的行为就像模型实际上已迁移一样,对于 crosscheck ,我已经更改了一个字段,并且在终端上它实际上正在显示它:
Migrations for 'Schedule':
Schedule/migrations/0003_auto_20180707_0815.py
- Alter field team on swimmingscore
处理此类案件的标准程序是什么?我完全陷入其中。我在 Django 中使用 sqlite3 作为数据库。
解决方案
删除 dbsqlite 文件和所有迁移文件,然后运行python manage.py makemigrations然后python manage.py migrate为我工作。实际上这种类型的错误发生在我们使用一些以前使用过的模型名称时,我们已经删除了,但是它们在 sqlite 中仍然有一个表,所以 django 不能让新表形成,所以错误“找不到表”可能会出现。谢谢 :)
推荐阅读
- redis - Redis - 在一次通话中获得用户对多个帖子的喜欢
- python-3.x - 将随机 2 位数字附加到用户输入代码并将其添加到文件中
- java - 在嵌套的 for 循环内,打印字符串“。” 如果满足条件,则将其替换为其他字符。MOOC Java 第 10 周“地牢”
- c++ - 将右值引用绑定到(自动生成的)左值
- ios - 使用 twilio 可编程聊天 API 发送 PDF/文本
- php - YII2:从不同的表构建模型
- node.js - 加入同一数组下文件夹的文件
- python - 熊猫使用数组分配列值
- php - 从 url 中删除文件路径
- angular - Amcharts:使用条形图作为地图图像标记