| 字段类型 | 类型含义 | 描述 |
| AutoField | 自动增长的整数字段 | 通常不需要指定,Django会自动创建属性名为id的自动增长属性 |
| BooleanField | 布尔字段 | 值为True或False |
| NullBooleanField | 空布尔字段 | 支持Null、True、False三种值。 |
| CharField | 字符串字段 | 必须指定参数(max_length=字符个数) |
| TextField | 大文本字段 | 一般超过4000个字符时使用 |
| DateField,TimeField, DateTimeField | 日期, 时间, 日期时间字段 | 可指定参数auto_now=False(True:保存对象,django自动为该属性赋值,默认为False);auto_now_add(True:第一次创建,django自动为该属性赋值,默认为False) |
| IntegerField | 整数字段 | 从 -2147483648 到 2147483647 范围内的值是合法的 |
| DecimalField | 十进制浮点数 | 必须指定参数(max_digit=总位数,decimal_places=小数后位数) |
| FloatField | 浮点数 | 用python中的float来表示,有误差 |
| FileField | 上传文件字段 | |
| ImageField | 图片字段 | 继承于FileField,对上传的内容进行校验,确保是有效的图片 |
| 选项 | 默认值 | 描述 | 是否要重新迁移修改表结构 |
| null | False | True:数据库中字段允许为空 | 是 |
| unique | False | True:值必须唯一 | 是 |
| db_column | 属性名称 | 字段名,如果未指定,则使用属性的名称 | 是 |
| db_index | False | True:为此字段创建索引。 查看索引:show index from 表名 | 是 |
| primary_key | False | True:则该字段会成为模型的主键字段,一般作为AutoField的选项使用 | 是 |
| default | | 为字段设置默认值 | 否 |
| blank | False | True:html页面表单验证时字段允许为空 | 否 |
| objects管理器中的方法 | 返回类型 | 作用 |
| 模型类.objects.get() | 模型对象 | 返回一个对象,且只能有一个: 如果查到多条数据,则报:MultipleObjectsReturned 如果查询不到数据,则报:DoesNotExist |
| 模型类.objects.filter() | QuerySet | 返回满足条件的对象 |
| 模型类.objects.all() | QuerySet | 返回所有的对象 |
| 模型类.objects.exclude() | QuerySet | 返回不满条件的对象 |
| 模型类.objects.order_by() | QuerySet | 对查询结果集进行排序 |
| 模型类.objects.aggregate() | 字典,例如: {'salary__avg': 9500.0} | 进行聚合操作 Sum, Count, Max, Min, Avg |
| 模型类.objects.count() | 数字 | 返回查询集中对象的数目 |
| 条件 | 含义 | 注释 |
| exact | 判等 | 可以省略 |
| contains; endswith; startswith | 模糊查询 | 包含; 以什么开头; 结尾 |
| isnull | 空查询 | 是否为空,是返回True,否返回False |
| in | 范围查询 | 在....内 |
| gt,lt,gte,lte | 比较查询 | 大于,小于,大于等于,小于等于 |
| year, date | 日期查询 | 年,日期 |
| 方法 | 作用 | 示例 |
| F对象 | 引用某字段的值,对比表中的两个字段 | 查询语文分数大于数学分数的学生 成绩表.objects.filter(语文__gt=F('数学')) |
| Q对象 | 组合多个查询条件,通过(&,|,~)进行逻辑操作 | Q(条件1)逻辑操作符 Q(条件2) |
| order_by | 对查询结果进行排序(默认升序) | 升序: 模型类.objects.order_by('字段名') 降序: 模型类.objects.order_by('-字段名') |
| aggregate | 聚合操作,对多行查询结果中的一列进行操作,返回一个值。(有Sum,Count,Max,Min,Avg) | 模型类.objects.aggregate(聚合类('模型属性')) 返回值是一个字典,格式: {'属性名__聚合函数': 值} |
| count | 统计满足条件的对象的个数,返回值是一个数字 | 模型类.objects.count() |
| 打开mysqld.cnf | sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf |
| 重启mysql服务 | sudo service mysql restart |
| 查看mysql日志内容 | sudo tail -f /var/log/mysql/mysql.log |
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |