版本

1 Python 3.8.2
2 Django 3.0.6

批量入库

场景: 前端页面通过 textarea 文本框提交一列多行数据到Django后台,后台通过ORM做入库操作

表名: TableName 字段名: table_column, status, job 等

需要两个“媒介”: 1. 一个列表(用作批量入库的“收纳盒”) 2. 一个方法 bulk_create(批量入库的“武器”)

 ...省略...

 if request.method == 'POST':
datas = request.POST.get('datas')
if datas:
data_to_insert = []
for s in datas.split('\n'):
data_to_insert.append(TableName(table_column=s, status='ok', job='teacher'))
print('start insert...')
TableName.objects.bulk_create(data_to_insert) ...省略...

批量更新

疑问:这是批量更新吗?!

场景:前端提交数据后,Django后台通过ORM实现批量更新

...省略...

if request.method == 'POST':
update_data = request.POST.get('update_data')
for i in json.loads(update_data):
TableName.objects.filter(id=i['']).update(status=i[''], job=i[''], comments=i[''])
...省略...

说明:

request.POST.get('update_data') 中的 update_data 为前端Ajax提交过来的data
批量更新必须使用一个字段作为 filter,然后再去更新。相当于SQL语句中的where
转换为SQL语句: UPDATE TableName SET status = 'x', job = 'y', comments = 'z' WHERE id = 'xx'

聚合分组

场景: 统计每个类型的数量并统计出TOP 5

 ORM
TableName.objects.values('job').annotate(jo=Count('job')).order_by('-jo') MySQL
SELECT job, COUNT(*) as num FROM app1_tablename GROUP BY job ORDER BY num desc

未完待续...

最新文章

  1. malloc/free和new/delete的区别
  2. iScroll相关
  3. SSR分子标记
  4. strcpy()、memcpy()、memmove()、memset()的内部实现
  5. tcp/ip通信传输流
  6. vue源码学习-vnode的挂载和更新流程
  7. MySql全文索引
  8. js 中数字与字符串之间的转换
  9. [精华][推荐]CAS SSO 单点登录框架学习 环境搭建
  10. python中基本类型的连接组合和互相转换
  11. 【Beta阶段】第十次Scrum Meeting!!!
  12. sql2008升级到r2提示:检查当前是否正确配置了报表服务器、数据库服务器是否正在运行以及您是否有权访问
  13. (Nginx反向代理+NFS共享网页根目录)自动部署及可用性检测
  14. springboot自定义静态文件目录,解决jar打包后修改页面等静态文件的问题
  15. gitlab迁移
  16. FILTER——JAVA
  17. Linux System V Semaphore semget多进程同时创建缺陷解决方法
  18. AspNet Core 发布到Linux系统和发布IIS 注意项
  19. 安装matplotlib 和Pygal
  20. Struts2 学习笔记 09 访问Web元素

热门文章

  1. JavaScript基础函数的配置对象Configuration Objects(020)
  2. Docker(六)容器数据卷
  3. Linux下Jmeter+nmon+nmon analyser实现性能监控及结果分析
  4. wsl环境下配置ubuntu16.04
  5. 从CAS讲起,真正高性能解决并发编程的原子操作
  6. VScode 配置c/c++环境(结合各大网站的blog和官方文档)
  7. List集合-03.Vector
  8. 阿里云服务器ecs配置之安装jdk(转)
  9. day07总结
  10. hacknos靶机实战