摘要: 一. orm执行原生sql语句 在模型查询API不够用的情况下,我们还可以使用原始的SQL语句进行查询。 Django 提供两种方法使用原始SQL进行查询:一种是使用raw()方法,进行原始SQL查询并返回模型实例;另一种是完全避开模型层,直接执行自定义的SQL语句。 1. 执行原生sql查询 ra 阅读全文
posted @ 2019-03-04 21:53 lokichoggio 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 一. 聚合查询 aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典。键的名称是聚合值的标识符,值是计算出来的聚合值。键的名称是按照字段和聚合函数的名称自动生成出来的。如果你想要为聚合值指定一个名称,可以向聚合子句提供它。 from django.db. 阅读全文
posted @ 2019-03-04 19:09 lokichoggio 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 一. 创建模型 from django.db import models # Create your models here. #比较常用的作者信息放到这个表里面 class Author(models.Model): id = models.AutoField(primary_key=True) 阅读全文
posted @ 2019-03-03 21:57 lokichoggio 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一. model Django提供了一个抽象层(“Model”)来构建和管理Web应用程序的数据。 django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表。 关系对象映射(Object Relational Mapping,简称ORM), 它实现了数据模型与数据库 阅读全文
posted @ 2019-03-03 18:38 lokichoggio 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 一. django流程介绍 mvc是众所周知的模式, 即 将应用程序分解成三个部分: model(模型), view(视图), controller(控制器),其中: M -- 管理应用程序的状态(通常存储到数据库中), 并约束改变状态的行为(或者叫业务规则) C -- 接受外部用户的操作, 根据操 阅读全文
posted @ 2019-02-27 20:19 lokichoggio 阅读(966) 评论(0) 推荐(0) 编辑
摘要: 线程 一. 背景知识 1. 进程: 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中, 阅读全文
posted @ 2019-01-14 20:53 lokichoggio 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 线程 一. 条件 使得线程等待,只有满足某条件时,才释放n个线程 import time from threading import Thread,RLock,Condition,current_thread def func1(c): c.acquire(False) #固定格式 # print( 阅读全文
posted @ 2019-01-14 20:43 lokichoggio 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 一. multiprocess模块 仔细说来,multiprocess不是一个模块而是python中一个操作、管理进程的包。 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块。由于提供的子模块非常多,为了方便大家归类记忆,我将这部分大致分为四个部分: 阅读全文
posted @ 2019-01-10 00:12 lokichoggio 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 一. 背景知识 进程就是进行中的程序 1. 进程的概念起源于操作系统, 是操作系统最核心的概念, 操作系统的其他所有内容都是围绕进程的概念展开的 操作系统的作用: (1). 隐藏丑陋复杂的硬件接口, 提供良好的抽象接口 (2).管理,调度进程, 并且将多个进程对硬件的竞争变得有序 2. 多道技术: 阅读全文
posted @ 2019-01-10 00:10 lokichoggio 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 总结: 1. 闭包: 闭包的好处就是让一个变量常驻内存, 供后续的程序使用 2. 查看一个对象是可迭代对象的方法 (1) 使用dir()函数. 如果结果中有 __iter__ 就是可迭代对象 print(dir(obj)) (2) 通过isinstance()函数, 返回True就是可迭代对象 fr 阅读全文
posted @ 2019-01-07 19:33 lokichoggio 阅读(221) 评论(0) 推荐(0) 编辑