django模型查询操作】的更多相关文章

一旦创建好了数据模型,Django就会自动为我们提供一个数据库抽象API,允许创建.检索.更新和删除对象操作 下面的示例都是通过下面参考模型来对模型字段进行操作说明: from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __str__(self): return self.name class…
前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开始,进入到了Django模型,也就是数据库操作. 自带 Sqlite3 数据库查询方式 为了简单,使用Python自带的Sqlite3数据库进行实例说明. 先看一个传统的数据库操作示例: from django.shortcuts import render import sqlite3 from…
1.准备数据表: from django.db import models class City(models.Model): name=models.CharField(max_length=32) nid=models.AutoField(primary_key=True) class Author(models.Model): name=models.CharField(max_length=32) nid=models.AutoField(primary_key=True) city=m…
概述 查询集表示从数据库获取的对象的集合 查询集可以有多个过滤器 过滤器就是一个函数,基于所给的参数限制查询集结果 从SQL角度来说,查询集和select语句等价,过滤器就像where条件 查询集 在管理器上调用过滤器方法返回查询集 查询集经过过滤器筛选后返回新的查询集,所以可以写成链式调用 惰性执行 创建查询集不会带来任何数据库的访问,直到调用数据库时,才会访问数据 直接访问数据的情况: 迭代 序列化 与if合用 返回查询集的方法称为过滤器 all():返回查询集中的所有数据 filter()…
目录 聚合查询 aggregate 聚合函数 分组查询 annotate F与Q查询 F查询 Q查询 ORM操作事务 django中开启事务 聚合查询 aggregate 操作外键字段管理数据的时候,因为外键字段带来的约束,所以会 级联更新.级联删除. 举个例子,书与出版社是一对多关系,外键字段在书那儿.这时候把出版社删除,那么对应的书籍也会删除:如果把出版社的主键值改变,那么书籍表中对应的主键值也会自动修改. 聚合函数 聚合函数必须要使用在分组之后 使用如下函数: Max Min Sum Av…
基于双下划线查询切记!!!!正向查询按字段,反向查询按表名的小写 正向:在Book表里设置关联Obj表,Book------>Obj就是正向查询 反向:在Book表里设置关联Obj表,Obj------>Book就是反向查询 废话不多说,直接上例子: 数据 class Book(models.Model): nid=models.AutoField(primary_key=True) title=models.CharField(max_length=32) price=models.Deci…
queryset中支持链式操作 book=Book.objects.all().order_by('-nid').first() 只要返回的是queryset对象就可以调用其他的方法,直到返回的是对象本身 模糊查询常用的操作 大于.大于等于: __gt 大于> __gte 大于等于>= Student.objects.filter(age__gt=10) // 查询年龄大于10岁的学生Student.objects.filter(age__gte=10) // 查询年龄大于等于10岁的学生 特…
1.获取单个数据 //取出主键为1的数据 $user = User::get(1); echo $user->name; // 使用数组查询 $user = User::get(['name' => 'thinkphp']); // 使用闭包查询 $user = User::get(function($query){ $query->where('name', 'thinkphp'); }); echo $user->name; //实例化模型后调用查询 $user = new U…
Ⅰ.关系表的数据操作 1.正向 正向:如果一个模型有外键字段,通过这个模型对外键进行操作叫做正向. 1)更新(增) a.通过属性复制 b.通过主键的方式 总结: ForeignKey 字段的更新,跟普通字段没什么区别 a.实例(增加班级) b.二次实例(与上同) c.将某学生的数据转到另外的班级 2)删 只有外键设置了 null=True ,就可以通过赋值None来删除关系. a.删的实例 3)查 2.反向 反向:一个模型如果被另外一个模型外键关联,通过这个模型对关联它的模型进行操作交错反向 1…
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 xxx 八 xxx 一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄.…