django.db.utils.OperationalError:没有这样的表:Schedule_swimmingscore

时间:2018-07-07 08:24:07

标签: django django-models

所以,这是我的模范游泳成绩:

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 migration 命令。因此,当我通过网站打开管理员时,它显示“没有这样的表”,我已经通过 python manage.py dbshel​​l> .table 确认了它,实际上没有用于swimmingscore的表,但是当我重新运行 python manage.py makemigrations ,它的行为似乎是模型实际上已迁移,对于交叉检查,我更改了一个字段,并在终端上实际上显示了它:

Migrations for 'Schedule':
  Schedule/migrations/0003_auto_20180707_0815.py
    - Alter field team on swimmingscore

处理此类案件的标准程序是什么?我完全陷入其中。我正在将sqlite3用作Django中的数据库。

1 个答案:

答案 0 :(得分:0)

删除dbsqlite文件和所有迁移文件,然后运行 python manage.py makemigrations 然后运行 python manage.py migration 对我有用。实际上,当我们使用已删除的一些先前使用的模型名称时,会发生这种类型的错误,但是它们在sqlite中仍然有一个表,因此django无法让新表形成,因此错误“找不到表”就会出现。谢谢:)