1. 完全彻底重置数据库(删库) - 5/12
很多时候项目经过多次迭代, 修改了太多次 model, 数据库变得奇怪起来, 就算代码没有错, 有些地方跑起来总是不正确, 特别是用 admin 来管理/查看的时候
这时候如果数据不重要, 可以尝试重置数据库再来测试你的项目/代码    
不过我的小项目还没迭代多少次, model 就改乱了, 出现了上面的问题, 所以记录一下这样的解决方法    
1. 删除所有的migrations
在 CentOS 下, 可以在 manage.py 所在目录执行下面的命令(注意权限):    
| 1 | find . -path "*/migrations/*.py" -not -name "__init__.py" -delete | 
如果在其他环境, 可以手动删除这些文件, 每个 app, migrations 目录下的除了 __init__.py 的文件    
2. 删除db.sqlite3文件
db.sqlite3 在 manage.py 所在目录下    
3. 重新生成migrations
在 manage.py 所在目录下执行(注意 python 版本, 注意权限):    
| 1 | python manage.py makemigrations | 
完成
2. 对 PUT DELETE 方法的处理 - 5/25
Django 本身对于 PUT 和 DELETE 请求并没有像POST/GET那样有一个字典结构, 所以需要一些额外处理:    
| 1 | from django.http import QueryDict | 
顺便回忆一下, 取 POST 方法参数的方法:    
| 1 | value = request.POST['key'] | 
3. 删除 QuerySet
一次查询可能包含很多 model, 可以直接调用以下方法全部删除
| 1 | Post.objects.all().delete() |