<<<常用的模型字段类型>>>
https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types
 InterField
 CharFiled
 TestFiled
 DateFiled
 AutoFiled(primary_key=True)自增,不指定主键会自动创建
  在使用的时候何以设置DateField.auto_now每次自动保存对象的时候自动设置改字段为当前时间,设置DateField.auto_now_add当对象第一次被创建时自动设置当前时间
 DateTimeFiled
<<<常用的字段参数>>>
https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-options
primary_key
auto_dreated
unique指定是否为唯一
auto_now
<<<常用查询>>>
 通过模型类上的管理器来构造
 模型类上的管理器(class.objects)
 queryset (惰性,,没有操作数据库)表示数据库中对象的集合,等同于select 语句
  query 获取mysql 语句
 first() 获取第一条,返回对象
 last() 获取最后一条,返回对象
 get(**kwargs) 根据给定的条件获取一个对象,如果有多个对象符合则报错
 all() 获取所有记录
 filter(**kwargs) 根据给定的条件获取过滤后的queryset,多个条件用','连接
 exclude(**kwargs) 作用和filter相反,去除不符合条件的对象
 多条件的or连接
 from django.db.models import Q
 Q(age=1) | Q(age=0)
 返回某个字段
 values(*fileds) field指定字段,返回一个queryset,返回一个‘字典列表’
 only(*fields) 与values差不多,返回queryset,‘对象列表’,必须带上主键
 defer(*field) 和only功能相反,用法一样,返回一个queryset,对象列表,排除
 排序
 order_by(*fields) 根据给定的字段来排序
  如果要反序就在field前加'-'
 切片 和python切片用法相似,不支持复索引,数据大的时候不用步长
 ***切片后不再支持附加条件与排序
 *多字段排序有什么用?*
 常用查询条件
 > < =
 通过'__' 使用
 exact 默认等于
 iexact 不区分大小写的匹配
 contains
 icontains 不区分大小写
 in name__in = ['aa','ss','dd']
 range age__range = (18, 20)
 gt 大于
 gte 大于等于
 lt
 lte
 startswith
 istartswith
 endswith
 iendswith
 isnull True False
 聚合
 django.db.models import Count, Avg, Max , Min, Sum(通过管理器的aggregate方法)
 count 计数
 平均 aggregate(age_avg = Avg('age'))
 分组
 查询男生有几个,女生有几个
 结合 values , annotate(num = Count('sex'))
 **复杂查询**
 from django.db.models.functions import lower
 order_by(lower('name').desc())
 

django-7-django模型系统的更多相关文章

  1. Django框架简介-模型系统

    2.5 模型 2.5.1 ORM介绍 2.5.1.1 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现 ...

  2. django模型系统(二)

    django模型系统(二) 常用查询 每一个django模型类,都有一个默认的管理器,objects QuerySet表示数据库中对象的列表.他可以有0到国歌过滤器.过滤器通过给定参数,缩小查询范围( ...

  3. django模型系统(一)

    django模型系统(一) djangode ORM ORM:对像关系映射 用python概念去表达数据库 数据库配置(mysql) 安装pumysql 修改项目目录下的__init__.py imp ...

  4. Django之模型系统

    Django模型简介 Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中 Django 支持 sqlite3, MySQL, oracle,PostgreSQL等数 ...

  5. Django模型系统——ORM校园管理系统代码

    1.models.py from django.db import models # Create your models here. class Class(models.Model): id = ...

  6. Django自定义用户认证系统之自定义用户模型

    参考文档:http://python.usyiyi.cn/django/topics/auth/customizing.html Django 自带的认证系统足够应付大多数情况,但你或许不打算使用现成 ...

  7. 八.django模型系统(二)之常用查询及表关系的实现

    Ⅰ.常用查询  1.几个概念 每一个django模型类,都有一个默认的管理器,objects,查询就是依赖于objects管理器进行的(在创建时就被添加了). QuerySet表示数据库中对象的列表( ...

  8. python的Web框架,Django模型系统二,模型属性,及数据库进阶查询

    原始数据接上篇文章来操作.可能需要查看后才能懂.点击这里查看 1.常用的模型字段类型 官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fie ...

  9. django模型系统二

    常用查询及表关系的实现 1.常用查询 每一个django模型类,都有一个默认的管理器 objects QuerySet表示数据库中对象的列表,它可以有0到多个过滤器.过滤器通过给定参数,缩小查询范围. ...

  10. Django写的投票系统2(转)

    在上一篇中 django实例:创建你的第一个应用投票系统(一) 已经介绍基本的功能,并已经启动服务了.这一节介绍数据库相关的东东. 首页打开mysite/settings.py配置文件, 设置数据库打 ...

随机推荐

  1. assound.conf

    pcm.!dmix {type dmixipc_key 5678293ipc_key_add_uid yesslave {pcm "hw:0,0"period_time 0peri ...

  2. python开发项目:学生选课系统

    程序要求:1.创建北京.上海两所学校(分析:通过学校类实例化两个学校实例) 2.创建Linux.python.go三个课程,Linux\go在北京开,Linux在上海开(创建Linux.python. ...

  3. 轻量级Java EE开发框架设计系统应用架构

    首先来说一下Java EE 概述 其中常说的三大框架即是:ssh Spring:功能强大的组件粘合济,能够将你的所有的java功能模块用配置文件的方式组合起来(还让你感觉不到spring的存在)成为一 ...

  4. --- Error: failed to execute '.\ARMCC\bin\ArmAsm'

    1.KEIL4在开发STM32程序时报: Error: failed to execute '.\ARMCC\bin\ArmAsm' 或是Error: failed to execute '.\ARM ...

  5. solrj 操作 solr 单机版

    一.导入 jar 包 <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr- ...

  6. hdu 2491 贪心

    #include<stdio.h> #include<stdlib.h> #define N 110000 struct node { int u,v,len,time; }m ...

  7. 使用动态代理实现dao接口

    使用动态代理实现dao接口的实现类 MyBatis允许只声明一个dao接口,而无需写dao实现类的方式实现数据库操作.前提是必须保证Mapper文件中的<mapper>标签的namespa ...

  8. linux网络监控脚本

    http://www.51testing.com/html/92/77492-828434.html

  9. GIT文件的4种状态

  10. Tcl学习之--表达式

    l 数值操作数 表达式的操作数一般是整数或实数.整数可能是十进制.二进制,八进制或十六进制. 比方以下同一个整数 335               --> 十进制 0o517         ...