必知必会13条 <1> all(): 查询所有结果 <2> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误. <3> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 <5> values(*field): 返回一个ValueQuerySet——一个特殊的Q…
MVC M: model 模型 与数据库交互 V: view 视图 HTML C:controller 控制器 流程 和 业务逻辑 MTV M:model ORM T:template 模板 HTML V:view 视图 业务逻辑 Django中的视图 FBV  def add_publisher(request,*args,**kwargs):  # 逻辑  return  response urls.py   url(r'^add_publisher',add_publisher ) CBV…
一.聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数)) 查询结果:使用聚合函数,从每一个组中获取结果:字典 注意点: 1 聚合函数必须在分组之后才能使用 2 没有分组,即默认整体就是一组 3 查询结果为 普通字典 """ 聚合查询通常情况下都是配合分组一起使用的 只要是跟数据库相关的模块 基本上都在 django.db.mode…
目录 一.orm补充查询 聚合查询 1-1 分组查询 1-2 F与Q查询 1-3 二. 字段及其参数 常用字段 AutoField IntegerField CharField DateField DateTimeField 字段集合 字段参数 null unique db_index default DateField和DateTimeField auto_now_add auto_now 关系字段 to to_field on_delete db_constraint 一.orm补充查询 聚…
自定义第三张表的好处:可以定义多个字段, 缺点:查询不方便(有方法解决) 1.第三张表设置外键,联合唯一(查询不方便) class Books(models.Model): name=models.CharField(max_length=32) price=models.DecimalField(max_digits=6,decimal_places=2)class Zuozhes(models.Model): name=models.CharField(max_length=32) sex=…
有2个下划线的是魔术方法,如:__construct.__destruct等等.有1个下划线的一般是私有方法,如 _initialize. 小测试: public function _test(){ echo '我是_test'; } public function test(){ echo '我是test'; $this->_test(); } 分别访问两个方法,只有test方法有输出,证明_test是私有的方法.  …
转载link:http://pycoders-weekly-chinese.readthedocs.io/en/latest/issue6/a-guide-to-pythons-magic-methods.html…
Django是一款优秀的web框架,有着自己的ORM数据库模型.在项目中一直使用django数据库,写一篇文章专门记录一下数据库操作.略写django工程创建过程,详写查询过程.可以和sqlalchemy对比来看,会发现有很多想通的地方,例如外键,外键关联关系等.上一篇sqlalchemy查询文章 目录: 1.Django环境搭建 2.数据库建表 3.写入数据 4.查询语句 Django环境搭建 1.安装django pip install django 2.创建工程 django.admin…
说道这里我们需要稍微暂停一下.前面我们说到了类是作为一个对象存放容器.这个容器里面有属性和方法.最好的理解类的方式就是把类想想成一个容器. 然后构造了一个析构函数和构造函数,然后又对object和self进行了解释,最后又说了一下重写.我们发现类作为一个存放对象的容器,其类也是一个对象. 类也有自己的__main__,__init__,__class__等属性.我们发现了,越来越多的时候,在Python里面用了很多下划线来表示这些意思.下划线分双下划线和单下划线两种,一共又存在5中组合,这5中组…
Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from moduleimport *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入:以双下划线开头的(__foo)代表类的私有成员:以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数. 结论: 1._x…