关于Django无法同步数据库及数据表的解决办法
问题情景:
遇到一个Django项目,是一个数据展示的界面,类似商品展示
需求:
需要加上登录和注册功能
进展:
在models文件中新增user表后,执行以下两条命令皆无任何响应。
1 python manage.py makemigrations 2 python manage.py migrate
随后查阅相关资料和官方文档找到解决办法,在此之前,简短描述下问题的起因经过。
1.在项目目录中以及app层目录下,即/project/templates和/project/templates、/project/__pycache__三个文件中记录着关于Django对数据库中的操作记录
2.当需要对数据库进行相关更改的情况下,此三个文件夹会有相关记录,例如第一遍执行了上面两条语句,顺利创建了表,后续又删除了表,此中记录并不会被删除,当执行第一条语句的情况下,Django查阅三个文件中的记录以后,发现已经执行了相关操作,也就并不会继续创建表。
在这里并不列举亲测过并不成功的方法,以下按照顺序执行,即可解决问题:
1.在数据库中的目标表存在的情况下,应当删除这些目标表,比如需要对user表进行更改,那么先删除user表,如果需要对data表进行更改,便删除user表,以此类推。
2.删除在项目目录中以及app层目录下,即/project/templates和/project/templates、/project/__pycache__三个文件,如果是文件夹,直接删除文件夹,如果是文件,直接删除文件。
比如 ../项目/ 和 ../项目/app01 这样的路径.
上述两步执行完毕后执行下面三条语句:
1 # 此命令用于制作一个空的迁移文件(Django会将文件放在正确的位置,提供一个名称,并为您添加依赖项) 2 python manage.py makemigrations --empty 你的app名 3 python manage.py makemigrations 4 python manage.py migrate
即可完成models中数据库变更操作。
本文来自博客园,作者:黑山老道,转载请注明原文链接:https://www.cnblogs.com/meipu/p/13187762.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现