Django进阶
关于Django的高级教程
JaysenLeo
挖粪涂墙,星辰大海
展开
-
(一)Django进阶之路 model的 objects对象 转 json
objects_to_json: 将 model对象 转化成 json json_to_objects: 将 将反序列化的json 转为 model 对象 def json_field(field_data): """ 将字典的键值转化为对象 :param field_data: :return: """ if isinstanc...原创 2018-06-02 11:10:21 · 3851 阅读 · 0 评论 -
(二)Django进阶之路 自定义管理器
在 Test 模型中构造管理器子类, 并同步如下数据库 from django.db import models class Test(model.Model): test_id = models.AutoField(primary_key=True) test_content = models.CharField(max_length=20) test_sta...原创 2018-06-02 13:07:39 · 1186 阅读 · 0 评论 -
(三)Django进阶之路 日志配置
settings BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # app 下预建logs目录 LOG_DIR = os.path.join(BASE_DIR, 'YourAppName', 'logs/') LOGGING = { 'version': 1, 'dis...原创 2018-06-02 13:22:02 · 546 阅读 · 0 评论 -
(四)Django进阶之路 中间件
中间件 是嵌入 django 的 request / response 处理过程的一套钩子框架,即可以对django的输入输出做整体修改,是一个可整体插拔的组件模式,有如下使用场景 1. 修改请求,例如在在request到达views之前做权限处理或者token比对,数据解密 2. 修改响应,判断浏览器来源,添加应用体系的响应状态码,数据加密,数据压缩 中间件作用流...原创 2018-06-02 17:07:33 · 452 阅读 · 0 评论 -
(五)Django进阶之路 优雅的打印model
在model.py里定义数据库模型之前,附如下代码 def __str__(self): _res_str = list() for i in self._meta.fields: _res_str.append({str(i.column): str(self.__getattribute__(i.column))}) return json...原创 2018-08-01 21:30:58 · 1704 阅读 · 0 评论 -
(六)Django进阶之路 QuerySet 上
from django.db.models import Count, F, Value from django.db.models.functions import Length, Upper F表达式的一般用法 # 找到员工比椅子多的公司。 Company.objects.filter(num_employees__gt=F('num_chairs')) # 找到雇员至少是原来两倍的公...原创 2019-01-28 20:18:48 · 342 阅读 · 1 评论