1.复习内容
- 数据模型的几种方法
- create()
- get()
- exclude()
- filter()
- all()
- values()
- values_list()
- 修改数据类型
- 1.修改单个属性
- 直接修改对象的属性
- 调用对象的save()
- 2.查询结果集修改多条
- update()
- 删除数据记录
- 调用对象的方法 delete
- 调用查询结果集的方法 delete
- 字段查找
- 可以用在filter() , exlclude() , get()
- 查询谓词
- __exact
- __contains
- __gt,__gte
- __lt,__lte
- __startwith
- __endwith
- 聚合函数
- 聚合函数主要做统计工作
- 聚合函数 djang.db.models.* 里面存放了常用聚合函数
- result = objects.aggregate( 键名=Avg(列名))
- 返回的是一个字典 ,键是键名,值是聚合函数后的结果
- 带分组
- 带分组的操作annotate()
2.灵感代办
3.学习内容
-
django教程Day05
-
复习资料
-
F对象
- 定义:代表数据库中某个字段的信息,代表一条记录的某条信息
- 作用:可以省略遍历多条数据,进行判断,可以在查询修改中,拿到某个字段的值,更方便判断操作
- 包目录:from django.db.models import F
- 使用方法:F(“列名”)
- 例子:
- models.Book.objects.all().update(market_price=F('market_price')+10)
- 更新所有表中价格增长10元
-
Q对象
- 作用:查询结果涉及 与& 或| 非~等操作时候可以使用
- 用法:需要结合查询谓词使用
- Q(条件1)|Q(条件2) # 条件1成立或条件2成立
- Q(条件1)&Q(条件2) # 条件1和条件2同时成立
- Q(条件1)&~Q(条件2) # 条件1成立且条件2不成立
-
原生数据库查询方法
- objects.raw()方法来执行select语句进行查询,查询的结果直接返回,是QuerySet对象
- 语法Entry.objects.raw(sql语句字符串)
-
原生数据库修改方法
- 包目录:from django.db import connection
- 使用:
- with connection.cursor() as cur:
- cruexecute(执行的sql语句字符串)
-
Admin后台管理数据
- 作用:可以在页面中方便的修改数据库中的数据
- 使用方法:
- 1.创建后台管理账号
- python mange.py createsuperuser
- 2.登录管理后台
-
自定义后台管理数据(Models)
- 作用:可以展示每个模块中需要展示的数据
- 使用:
- 1.在app目录下的admin.py中注册要管理的数据模型类
- 2.调用 admin.site.register()方法注册
-
修改后台的数据展现形式(Models)
- 重写自定义数据模型的str方法(双下划线)
- django2.2 可以忽略这个
-
模型管理类
- 用后台管理界面添加便于操作的新功能。
- 需要继承 ModelAdmin类(django.contrib.admin )
- 使用方法:
- 1.创建XXX_Manager(admin.ModelAdmin)管理类
- 2.关联模型类(model中的类)和模型管理类(XXX_Manager)
- 模型管理器类ModelAdmin中实现的高级管理功能
- list_display 去控制哪些字段会显示在Admin 的修改列表页面中。
- list_display_links 可以控制list_display中的字段是否应该链接到对象的“更改”页面。
- list_filter 设置激活激活Admin 修改列表页面右侧栏中的过滤器
- search_fields 设置启用Admin 更改列表页面上的搜索框。
- list_editable 设置为模型上的字段名称列表,这将允许在更改列表页面上进行编辑。
- 其它参见https://docs.djangoproject.com/en/1.11/ref/contrib/admin/
-
数据库表管理
- 1.修改模型类字段的显示名字
- 通过 verbose_name 参数来展示
- 作用:此字段显示的名字会在后台数据库管理页面显示
- 2.内嵌类Meta 定义模型类属性展现形式
- 作用:可以更改数据表名称、单数、复数名称(展现在admin)
- db_table(数据库名),verbose_name(单数名),verbose_name_plural(负数名)
- 用法:定在在model内的自定义类中,作为内部类定义
-
数据表关联关系映射 Relationship Map
-
三种映射关系
- 一对一
- 一对多
- 多对多
-
一对一映射:
-
使用关键字:
- 使用方法和创建字段一样
- fields = models.实体类.OneToOneField(映射的类)来创建
- 创建数据时候赋值是一个对象 fields=映射的对象
-
访问数据(查询)
- 可以双向访问,django已经写好了接口
- 正向查询
- 直接通过关联属性查询
- 反向查询
- 通过反向引用属性查询
- 反向引用属性为实例对象.引用类名(小写),
- 如作家的反向引用为作家对象.wife
-
可以包含级联动作
-
一对多映射:
-
使用关键字:
- 使用方法和创建字段一样
- fields = models.实体类.ForeignKey(映射的类)来创建
- 创建数据时候赋值是一个对象 fields=映射的对象
-
访问数据(查询)
- 多查一(正向查询)
- 直接通过关联属性查询
- 用filter来过滤查询(一查多)
- 多出来一个 类名_set() 方法,可以返回多个数据
-
常用参数:
- on_delete
- models.CASCADE 级联删除。 Django模拟SQL约束ON DELETE CASCADE的行为,
并删除包含ForeignKey的对象。
- models.PROTECT 抛出ProtectedError 以阻止被引用对象的删除;
- SET_NULL 设置ForeignKey null;只有null是True才有可能。
- SET_DEFAULT 将ForeignKey设置为其默认值;必须设置ForeignKey的默认值。
- ... 其它参请参考文档 https://yiyibooks.cn/xx/Django_1.11.6/ref/index.html ForeignKey部分
- **options 可以是常用的字段选项如:
- null
- unique等
-
可以包含级联动作
- 多对多映射:
4.扩展延伸知识
-
django path匹配负数
-
ORM
- 即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。
- https://blog.csdn.net/u010947534/article/details/90669452
-
django中 migrate使用回退操作
- 作用:django中数据库有位置错误可以使用该方法调试
- python manage.py migrate bookstore(应用名) 0005
5.知识内容个人梳理
6.今天都复习了之前的什么内容
7.运动数据
- 登山跑 40 3组
- 侧抬腿 30 3组
- 腹肌锻炼 25 3组
- create()
- get()
- exclude()
- filter()
- all()
- values()
- values_list()
- 1.修改单个属性
- 直接修改对象的属性
- 调用对象的save()
- 2.查询结果集修改多条
- update()
- 调用对象的方法 delete
- 调用查询结果集的方法 delete
- 可以用在filter() , exlclude() , get()
- 查询谓词
- __exact
- __contains
- __gt,__gte
- __lt,__lte
- __startwith
- __endwith
- 聚合函数主要做统计工作
- 聚合函数 djang.db.models.* 里面存放了常用聚合函数
- result = objects.aggregate( 键名=Avg(列名))
- 返回的是一个字典 ,键是键名,值是聚合函数后的结果
- 带分组
- 带分组的操作annotate()
3.学习内容
-
django教程Day05
-
复习资料
-
F对象
- 定义:代表数据库中某个字段的信息,代表一条记录的某条信息
- 作用:可以省略遍历多条数据,进行判断,可以在查询修改中,拿到某个字段的值,更方便判断操作
- 包目录:from django.db.models import F
- 使用方法:F(“列名”)
- 例子:
- models.Book.objects.all().update(market_price=F('market_price')+10)
- 更新所有表中价格增长10元
-
Q对象
- 作用:查询结果涉及 与& 或| 非~等操作时候可以使用
- 用法:需要结合查询谓词使用
- Q(条件1)|Q(条件2) # 条件1成立或条件2成立
- Q(条件1)&Q(条件2) # 条件1和条件2同时成立
- Q(条件1)&~Q(条件2) # 条件1成立且条件2不成立
-
原生数据库查询方法
- objects.raw()方法来执行select语句进行查询,查询的结果直接返回,是QuerySet对象
- 语法Entry.objects.raw(sql语句字符串)
-
原生数据库修改方法
- 包目录:from django.db import connection
- 使用:
- with connection.cursor() as cur:
- cruexecute(执行的sql语句字符串)
-
Admin后台管理数据
- 作用:可以在页面中方便的修改数据库中的数据
- 使用方法:
- 1.创建后台管理账号
- python mange.py createsuperuser
- 2.登录管理后台
-
自定义后台管理数据(Models)
- 作用:可以展示每个模块中需要展示的数据
- 使用:
- 1.在app目录下的admin.py中注册要管理的数据模型类
- 2.调用 admin.site.register()方法注册
-
修改后台的数据展现形式(Models)
- 重写自定义数据模型的str方法(双下划线)
- django2.2 可以忽略这个
-
模型管理类
- 用后台管理界面添加便于操作的新功能。
- 需要继承 ModelAdmin类(django.contrib.admin )
- 使用方法:
- 1.创建XXX_Manager(admin.ModelAdmin)管理类
- 2.关联模型类(model中的类)和模型管理类(XXX_Manager)
- 模型管理器类ModelAdmin中实现的高级管理功能
- list_display 去控制哪些字段会显示在Admin 的修改列表页面中。
- list_display_links 可以控制list_display中的字段是否应该链接到对象的“更改”页面。
- list_filter 设置激活激活Admin 修改列表页面右侧栏中的过滤器
- search_fields 设置启用Admin 更改列表页面上的搜索框。
- list_editable 设置为模型上的字段名称列表,这将允许在更改列表页面上进行编辑。
- 其它参见https://docs.djangoproject.com/en/1.11/ref/contrib/admin/
-
数据库表管理
- 1.修改模型类字段的显示名字
- 通过 verbose_name 参数来展示
- 作用:此字段显示的名字会在后台数据库管理页面显示
- 2.内嵌类Meta 定义模型类属性展现形式
- 作用:可以更改数据表名称、单数、复数名称(展现在admin)
- db_table(数据库名),verbose_name(单数名),verbose_name_plural(负数名)
- 用法:定在在model内的自定义类中,作为内部类定义
-
数据表关联关系映射 Relationship Map
-
三种映射关系
- 一对一
- 一对多
- 多对多
-
一对一映射:
-
使用关键字:
- 使用方法和创建字段一样
- fields = models.实体类.OneToOneField(映射的类)来创建
- 创建数据时候赋值是一个对象 fields=映射的对象
-
访问数据(查询)
- 可以双向访问,django已经写好了接口
- 正向查询
- 直接通过关联属性查询
- 反向查询
- 通过反向引用属性查询
- 反向引用属性为实例对象.引用类名(小写),
- 如作家的反向引用为作家对象.wife
-
可以包含级联动作
-
一对多映射:
-
使用关键字:
- 使用方法和创建字段一样
- fields = models.实体类.ForeignKey(映射的类)来创建
- 创建数据时候赋值是一个对象 fields=映射的对象
-
访问数据(查询)
- 多查一(正向查询)
- 直接通过关联属性查询
- 用filter来过滤查询(一查多)
- 多出来一个 类名_set() 方法,可以返回多个数据
-
常用参数:
- on_delete
- models.CASCADE 级联删除。 Django模拟SQL约束ON DELETE CASCADE的行为,
并删除包含ForeignKey的对象。
- models.PROTECT 抛出ProtectedError 以阻止被引用对象的删除;
- SET_NULL 设置ForeignKey null;只有null是True才有可能。
- SET_DEFAULT 将ForeignKey设置为其默认值;必须设置ForeignKey的默认值。
- ... 其它参请参考文档 https://yiyibooks.cn/xx/Django_1.11.6/ref/index.html ForeignKey部分
- **options 可以是常用的字段选项如:
- null
- unique等
-
可以包含级联动作
- 多对多映射:
4.扩展延伸知识
-
django path匹配负数
-
ORM
- 即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。
- https://blog.csdn.net/u010947534/article/details/90669452
-
django中 migrate使用回退操作
- 作用:django中数据库有位置错误可以使用该方法调试
- python manage.py migrate bookstore(应用名) 0005
5.知识内容个人梳理
6.今天都复习了之前的什么内容
7.运动数据
- 登山跑 40 3组
- 侧抬腿 30 3组
- 腹肌锻炼 25 3组
django教程Day05
复习资料
F对象
- 定义:代表数据库中某个字段的信息,代表一条记录的某条信息
- 作用:可以省略遍历多条数据,进行判断,可以在查询修改中,拿到某个字段的值,更方便判断操作
- 包目录:from django.db.models import F
- 使用方法:F(“列名”)
- 例子:
- models.Book.objects.all().update(market_price=F('market_price')+10)
- 更新所有表中价格增长10元
Q对象
- 作用:查询结果涉及 与& 或| 非~等操作时候可以使用
- 用法:需要结合查询谓词使用
- Q(条件1)|Q(条件2) # 条件1成立或条件2成立
- Q(条件1)&Q(条件2) # 条件1和条件2同时成立
- Q(条件1)&~Q(条件2) # 条件1成立且条件2不成立
原生数据库查询方法
- objects.raw()方法来执行select语句进行查询,查询的结果直接返回,是QuerySet对象
- 语法Entry.objects.raw(sql语句字符串)
原生数据库修改方法
- 包目录:from django.db import connection
- 使用:
- with connection.cursor() as cur:
- cruexecute(执行的sql语句字符串)
- with connection.cursor() as cur:
Admin后台管理数据
- 作用:可以在页面中方便的修改数据库中的数据
- 使用方法:
- 1.创建后台管理账号
- python mange.py createsuperuser
- 2.登录管理后台
- 1.创建后台管理账号
自定义后台管理数据(Models)
- 作用:可以展示每个模块中需要展示的数据
- 使用:
- 1.在app目录下的admin.py中注册要管理的数据模型类
- 2.调用 admin.site.register()方法注册
修改后台的数据展现形式(Models)
- 重写自定义数据模型的str方法(双下划线)
- django2.2 可以忽略这个
模型管理类
- 用后台管理界面添加便于操作的新功能。
- 需要继承 ModelAdmin类(django.contrib.admin )
- 使用方法:
- 1.创建XXX_Manager(admin.ModelAdmin)管理类
- 2.关联模型类(model中的类)和模型管理类(XXX_Manager)
- 模型管理器类ModelAdmin中实现的高级管理功能
- list_display 去控制哪些字段会显示在Admin 的修改列表页面中。
- list_display_links 可以控制list_display中的字段是否应该链接到对象的“更改”页面。
- list_filter 设置激活激活Admin 修改列表页面右侧栏中的过滤器
- search_fields 设置启用Admin 更改列表页面上的搜索框。
- list_editable 设置为模型上的字段名称列表,这将允许在更改列表页面上进行编辑。
- 其它参见https://docs.djangoproject.com/en/1.11/ref/contrib/admin/
数据库表管理
- 1.修改模型类字段的显示名字
- 通过 verbose_name 参数来展示
- 作用:此字段显示的名字会在后台数据库管理页面显示
- 2.内嵌类Meta 定义模型类属性展现形式
- 作用:可以更改数据表名称、单数、复数名称(展现在admin)
- db_table(数据库名),verbose_name(单数名),verbose_name_plural(负数名)
- 用法:定在在model内的自定义类中,作为内部类定义
数据表关联关系映射 Relationship Map
-
三种映射关系
- 一对一
- 一对多
- 多对多
-
一对一映射:
-
使用关键字:
- 使用方法和创建字段一样
- fields = models.实体类.OneToOneField(映射的类)来创建
- 创建数据时候赋值是一个对象 fields=映射的对象
-
访问数据(查询)
- 可以双向访问,django已经写好了接口
- 正向查询
- 直接通过关联属性查询
- 反向查询
- 通过反向引用属性查询
- 反向引用属性为实例对象.引用类名(小写),
- 如作家的反向引用为作家对象.wife
-
可以包含级联动作
-
-
一对多映射:
-
使用关键字:
- 使用方法和创建字段一样
- fields = models.实体类.ForeignKey(映射的类)来创建
- 创建数据时候赋值是一个对象 fields=映射的对象
-
访问数据(查询)
- 多查一(正向查询)
- 直接通过关联属性查询
- 用filter来过滤查询(一查多)
- 多出来一个 类名_set() 方法,可以返回多个数据
- 多查一(正向查询)
-
常用参数:
- on_delete
- models.CASCADE 级联删除。 Django模拟SQL约束ON DELETE CASCADE的行为,
并删除包含ForeignKey的对象。 - models.PROTECT 抛出ProtectedError 以阻止被引用对象的删除;
- SET_NULL 设置ForeignKey null;只有null是True才有可能。
- SET_DEFAULT 将ForeignKey设置为其默认值;必须设置ForeignKey的默认值。
- ... 其它参请参考文档 https://yiyibooks.cn/xx/Django_1.11.6/ref/index.html ForeignKey部分
- models.CASCADE 级联删除。 Django模拟SQL约束ON DELETE CASCADE的行为,
- **options 可以是常用的字段选项如:
- null
- unique等
- on_delete
-
可以包含级联动作
-
- 多对多映射:
-
django path匹配负数
-
ORM
- 即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。
- https://blog.csdn.net/u010947534/article/details/90669452
-
django中 migrate使用回退操作
- 作用:django中数据库有位置错误可以使用该方法调试
- python manage.py migrate bookstore(应用名) 0005
5.知识内容个人梳理
6.今天都复习了之前的什么内容
7.运动数据
- 登山跑 40 3组
- 侧抬腿 30 3组
- 腹肌锻炼 25 3组
7.运动数据
- 登山跑 40 3组
- 侧抬腿 30 3组
- 腹肌锻炼 25 3组