<<<常用的模型字段类型>>>
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. 2019-03-29 Vagrant Docker Toolbox 下载安装

    1.无脑安装Vagrant Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境.它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境. http ...

  2. android Build系统

    http://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/ android Build系统 超链接

  3. Ubuntu 15.10配置OpenCV

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50635705 1 安装前准备 安装以下 ...

  4. CAD教程----圆的优化命令viewres

    CAD软件为了节省内存加快打开图纸的速度,会在显示圆形的时候,用很粗燥的直线表示园,这时我们可以不节省内存,使用viewres将圆形完整的显示出来. 这个值设置的越大,圆越圆(好绕口!)

  5. HDU 3579 线性同余方程组

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  6. 拥抱Mac之码农篇

    拥抱Mac之码农篇 使用Mac大概两年时间.之前用着公司配的一台27寸的iMac.无奈机械硬盘严重拖慢速度,影响工作心情.于是入手Macbook Retina 13.这两年的开发工作所有在Mac上完毕 ...

  7. Codeves 2800 送外卖 状态压缩DP+floyd

    送外卖     题目描述 Description 有一个送外卖的,他手上有n份订单,他要把n份东西,分别送达n个不同的客户的手上.n个不同的客户分别在1~n个编号的城市中.送外卖的从0号城市出发,然后 ...

  8. awesome-free-software

    Free software is distributed under terms that allow users to run the program for any purpose, study ...

  9. 0x25 广度优先搜索

    今天莫名不想说话. 结果发现效率挺高? poj3322 本来可以1a的..发现我宽搜写的是head<=tail而且初始是head=1,tail=2如果是多组数据简直就gg了.基础不牢固 这题虽然 ...

  10. [POJ 1316] 树上的询问

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1316 [算法] 点分治 由于边权较大,笔者在计算时使用了STL-set 注意当询问为 ...