数据库中缺少字段,但是存在于Django模型中

时间:2018-11-19 06:35:58

标签: python mysql django python-3.x django-models

以前,我的模型由三个记录id(主键),router_id,as_num和neighbor_id组成,然后我试图通过将字段名称从“ id”更改为“ auto_id”来更改数据库中的“ id”字段。 / p>

这是我的模特

class dataFromFile(models.Model):
    auto_id = models.AutoField(primary_key=True, default=0)
    router_ip = models.CharField(max_length=20)
    as_num = models.IntegerField(default=0)
    neighbor_ip = models.CharField(max_length=20)

然后使用命令python manage.py makemigrations peersite给我一条消息“在应用程序'peersite'中未检测到更改” 然后使用python manage.py sqlmigrate peersite 0001似乎没有错误。但是随着python manage.py migrate peersite给予

 _mysql.connection.query(self, query)
django.db.utils.OperationalError: (1091, "Can't DROP 'id'; check that column/key exists")

我已在数据库中检入表dataFromFile,也没有“ id”字段。

这里有解决方案吗? 预先谢谢你

1 个答案:

答案 0 :(得分:0)

如果您正在开发中并且数据库中没有任何有价值的数据,则可以DROP DATABASE db_name; CREATE DATABASE db_name;在您的应用程序中删除您的迁移,然后运行进行迁移并重新进行迁移。我知道这很痛苦,但是当我遇到这样的问题时,从长远来看,有时可以节省时间。