django
chrispink_yang
To learn, to cope.
展开
-
Django Models的create都做了些什么。
主要问题Modelsmanager.create()都完成了哪些操作.基本功能根据官方文档django document 的介绍只有一句话: A convenience method for creating an object and saving it all in one step. create()是一个将1) 创建类对象 和 2) 保存进数据库 两个操作合二为一的语句....原创 2018-08-14 03:03:16 · 5715 阅读 · 0 评论 -
Celery ETA任务重复提交的问题解决
## 2018.09.28更新pypi上有模块[celery_once](https://pypi.org/project/celery_once/)可解决重复提交和队列管理的问题。暂未实践。因为业务需求,使用了celery配置eta(estimated time of arrival)的功能,传入datetime类型的值,让任务在具体的某个时间执行。 在Django根目录执行查看任务计划,看到了许多重复提交到worker的eta任务。 查看语句原创 2018-08-27 15:15:31 · 4750 阅读 · 0 评论 -
Django从已存在的Mysql数据库表开始项目
Django 的ORM自带的migrate指令很适合从零启动一个项目,并让django自动跟踪model class的变动,可以实现完全脱离手动SQL操作构建项目。 但更多时候,我们的项目都会从现有的数据库着手开发,Django也有对应的命令方便我们执行迁移。1. 设置setting中的database信息# setting.pyDATABASES = { 'default...原创 2018-09-04 17:29:23 · 4630 阅读 · 5 评论 -
Django transaction进行事务管理踩过的坑
概要Transaction是django进行数据库原子性操作在python层面上的实现. 简单来说, 被transaction.atomic()包裹的代码块只在代码块顺利完成后进行数据库层面的commit.实际开发当中,遇到了一些问题.1. transaction事务内不执行数据库的commit操作,除非手动commit代码场景: 在事务当前启动celery异步任务, 无法获取未...原创 2018-08-30 14:57:30 · 13674 阅读 · 1 评论 -
Django设置全局对象,仅在启动时初始化一次.
解决问题:HTTP是无状态的,但是我们希望记录一些前后多次requests中有关联的数据, 又或许在计算密集的模块有些只读模型数据只需要保存一份,供多次请求读取,而不需要每次请求都重新读取一遍.实现方法:将共享python变量写在views函数之外,view函数内通过global访问.from django.shortcuts import renderfrom django.http ...原创 2018-09-21 11:46:21 · 12350 阅读 · 0 评论 -
Optimizing slow Django REST Framework performance
The Django REST Framework allows Django developers to build simple yet robust standards-based REST APIs for their applications. We've used it successfully on a number of Django web design projec...转载 2018-10-08 10:36:52 · 299 阅读 · 0 评论 -
Django 多线程问题是怎么回事?
作者:Pegasus Wang链接:https://www.zhihu.com/question/56472691/answer/292510026来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。简单的说就是服务端监听 socket 每次 accept 一个新的请求后,开一个线程处理 这个 socket 客户连接。如果你对底层实现原理感兴趣,可以继续看下去,从...转载 2018-10-24 10:14:45 · 3062 阅读 · 0 评论