浏览器访问提示某table缺少id, no such column
如图:

id列不是django的models模块默认自增的吗,怎么还会丢失?
查看models文件中该class显性定义:
id = models.AutoField(primary_key=True)
反而造成数据库中不知什么原因默认idl列不见了
解决尝试1:
models中删除该行,或改名,
python manage.py makemigrations可以通过
但python manage.py migrate无法通过,提示

解决尝试2:
数据库中直接增加列

python manage.py makemigrations
python manage.py migrate
迁移通过,终于恢复正常
结论:不要乱加id = models.AutoField(primary_key=True)
本文探讨了Django模型中ID自增字段丢失的问题,分析了原因,并提供了两种解决方案:一是修改models.py文件并重新迁移;二是直接在数据库中增加ID列,再进行迁移。最终确认,不应随意添加id=models.AutoField(primary_key=True)。
1526

被折叠的 条评论
为什么被折叠?



