这个问题在这里已经有了答案:
django错误地期望id列(1个答案)
两年前关门了。
以前我的模型由三个记录id(主键)、router\u id、as\u num和neighbor\u id组成,然后我试图通过将字段名从'id'更改为'auto\u id'来更改数据库中的'id'字段。
这是我的模型
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条答案
按热度按时间ryhaxcpt1#
如果您正在开发中,并且数据库中没有任何有价值的数据,您可以删除数据库db\u name;创建数据库db\u name;删除应用程序中的迁移,然后再次运行make migrations和migrate。我知道这是一种痛苦,但当我遇到这样的问题,有时从长远来看,它节省时间。