1.模型和字段
(1)基本的原则如下:
每个模型在Django中的存在形式为一个Python类
每个模型都是django.db.models.Model的子类
模型的每个字段(属性)代表数据表的某一列
Django将自动为你生成数据库访问API
(2)模型字段fields
Django不允许下面两种字段名:
与Python关键字冲突。这会导致语法错误。例如:
class Example(models.Model): pass = models.IntegerField() # 'pass'是Python保留字!
字段名中不能有两个以上下划线在一起,因为两个下划线是Django的查询语法。例如:
class Example(models.Model): foo__bar = models.IntegerField() # 'foo__bar' 有两个下划线在一起!
(3)常用字段类型
字段类型的作用:
决定数据库中对应列的数据类型(例如:INTEGER, VARCHAR, TEXT)
HTML中对应的表单标签的类型,例如<input type=“text” />
在admin后台和自动生成的表单中最小的数据验证需求
这里有如何上传文件和图片的方法:
1.FileField:
2.ImageField
3.FilePathField
4.UUIDField:
2.关系类型字段
一、多对一(ForeignKey)
二、多对多(ManyToManyField)
三、一对一(OneToOneField)
字段的参数:null,blank,default,help_text,primary_key,unique
3.多对多中间表详解
一、默认中间表
二、自定义中间表
三、使用中间表
4.模型的元数据Meta
强调:每个模型都可以有自己的元数据类,每个元数据类也只对自己所在模型起作用。
5.模型的继承
一、 抽象基类:
二、 多表继承
三、 代理模型
四、 多重继承
6.用包来组织模型
7.查询操作
查询操作是Django的ORM框架中最重要的内容之一。
一、创建对象
二、保存对象
1. 保存外键和多对多字段
三、检索对象
1. 检索所有对象
2. 过滤对象
3. 检索单一对象
4. 其它QuerySet方法
5. QuerySet使用限制
6. 字段查询
7. 跨越关系查询
8. 使用F表达式引用模型的字段
9. 主键的快捷查询方式:pk
10. 在LIKE语句中转义百分符号和下划线
11. 缓存与查询集
四、使用Q对象进行复杂查询
五、比较对象
六、删除对象
七、复制模型实例
八、批量更新对象
九、关系的对象
1. 一对多(外键)
2. 多对多
3. 一对一
4. 反向关联是如何实现的?
5. 通过关联对象进行查询
十、使用原生SQL语句
8.查询集API
一、QuerySet何时被提交
二、QuerySet
三、返回新QuerySets的API
1. filter()
2. exclude()
4. order_by()
12. all()
9.不返回QuerySets的API
1. get()
2. create()
6. count()
11. first()
15. update()
16. delete()
10.字段查询参数及聚合函数
1. exact
3. contains
5. in
10. startswith
12. endswith
聚合函数
5. Count
6. Max
7. Min

第一章:模型层model layer的更多相关文章

  1. 第一章:模型层model layer -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 题外话: Django的教程写到这里,就进入 ...

  2. 模型层model layer

    题外话: Django的教程写到这里,就进入了整体的第二部分,也是最关键的部分.此时有一个问题必须想清楚,那就是,以项目带动内容还是以参考书目的方式展开?为此,我考虑了很久. 我在开始学习Django ...

  3. thinkphp模型层Model、Logic、Service讲解

    thinkphp模型层Model.Logic.Service讲解 时间:2014-08-24 15:54:56   编辑:一切随缘   文章来源:php教程网 已阅读:771 次       js特效 ...

  4. 计算机网络自顶向下方法第3章-传输层 (Transport Layer).2

    3.5 面向连接的运输: TCP 3.5.1 TCP连接 TCP是因特网运输层的面向连接的可靠的运输协议. TCP连接提供全双工服务(full-duplex service). TCP连接是点对点的连 ...

  5. 计算机网络自顶向下方法第3章-传输层 (Transport Layer).1

    3.1 概述和运输层服务 运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communication)功能. 3.1.1 运输层和网络层的关系 网络层提供了主机之间的逻辑通信,而 ...

  6. 64、django之模型层(model)--建表、查询、删除基础

    要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...

  7. django之模型层(model)--建表、查询、删除基础

    要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,这篇就开始带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查.本篇仅带 ...

  8. odoo12从零开始:三、2)odoo模型层

    前言 上一篇文章(创建你的第一个应用模块(module))已经大致描述了odoo的模型层(model)和视图层(view),这一篇文章,我们将系统地介绍有关于model的知识,其中包括: 1.模型的类 ...

  9. 传输层-Transport Layer(下):UDP与TCP报头解析、TCP滑动窗口、TCP拥塞控制详解

    第六章 传输层-Transport Layer(下) 上一篇文章对传输层的寻址方式.功能.以及流量控制方法做了简短的介绍,这一部分将介绍传输层最重要的两个实例:TCP协议和UDP协议,看一看之前描述的 ...

随机推荐

  1. Firefox内存占用过高解决方法

    刚开始使用firefox火狐浏览器的时候,你会发现firefox占用内存大,CPU占用率高,打开网页停顿等问题,其实这些是因为firefox没有进行优化,默认设置是标准的设置的原因,解决方法如下: 一 ...

  2. setlocal 与 变量延迟

    setlocal 与 变量延迟 本条内容引用[英雄出品]的批处理教程: 要想进阶,变量延迟是必过的一关!所以这一部分希望你能认真看. 为了更好的说明问题,我们先引入一个例子.例1: @echo off ...

  3. 列表(ul ol dl)

    Title 1 2 3 1 2 3 a 1 2 b 1 2 <!DOCTYPE html> <html lang="en"> <head> &l ...

  4. 关于gevent的一些理解(二)

    3 实际应用 1 zeromq和gevent: zeromq的介绍请参看:http://www.infoq.com/cn/news/2010/09/introduction-zero-mq 假设你已经 ...

  5. 自动选择最佳特征进行分类-SVM (Halcon)

    HALCON12里的example,classify_pills_auto_select_features.hdev. 执行流程: 1.选取相关特征(本例选取color和region组的所有特征)(本 ...

  6. Mybatis知识(3)

    1.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的? ① 数据库链接创建.释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题. 解决:在SqlMapConfig ...

  7. dstat 性能监测工具

    dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品.dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了.dstat可 ...

  8. 这两天的刷机+Root

    最近为了研究Xposed框架的搭建使用,将自己红米Note2尝试root后,开不了机了.后使用(网上下载的线刷宝,刷的官网线刷宝成功开机了,然后里面会自带很多软件,然后通过下载KingRoot将手机自 ...

  9. InnoDB FULLTEXT

    1.概要 InnoDB引擎对FULLTEXT索引的支持是MySQL5.6新引入的特性,之前只有MyISAM引擎支持FULLTEXT索引.对于FULLTEXT索引的内容可以使用MATCH()…AGAIN ...

  10. MVVM 的理解

    MVVM 是 Model - View - ViewModel 的缩写 可以看到他和之前的MVC很像,的确有人称之为一个加强优化版的MVC. 是一种模块化开发代码分层的思想或者框架! MVVM 的优点 ...