F对象
一个F对象代表数据库中某条记录的字段信息
作用:通常是对数据库中的字段值在不获取的情况下进行操作,用于类属性(字段)之间的比较
语法:from django.db.models import F
F('列名')
Q对象
当在获取查询结果集使用复杂的逻辑或|、逻辑非~等操作时可以借助与Q对象进行操作
聚合查询:是指对一个数据表中的字段的数据进行部分或全部进行统计查询,查bookstore_book数据表中的全部书的平均价格,查询所有书的总个数等都是要聚合查询
聚合查询分为:整表查询和分组查询
整表查询:
分组查询:是指通过计算查询结果中每一个对象所练习的对象集合,从而得出总计值。
语法:QuerySet.annotate(结果变量名=聚合函数('列')) 返回值QuerySet
原生数据库操作
admin后台管理
之后输入用户名密码登录,界面如下:
注册自定义模型类
若要自己定义的模型类也能在admin后台管理界中显示和管理需要将自己的类注册到后台管理界面
注册步骤:
1、在应用app中的admin.py中导入注册要管理的模型models类,如from.models import book
2、调用admin/site.register方法进行注册如:admin.site.register(自定义模型类)
例子:
原本样子:
模型管理器类:
作用:为后台管理器界面添加便于操作的新功能
说明:后台管理器类必须继承自django.contrib.admin里面的ModelAdmin类
list_display(写几个显示几列)
list_display_links = ['title]
#控制list_display中的字段,哪些可以链接到修改页
list_filter = ['price']
#添加过滤器 分组的功能
search_fields = ['title']
#添加搜索框
list_editable = ['price']
#添加可在列表框编辑的数据
!!!list_editable与list_display_links是互斥的
官网:https://docs.djangoproject.com/en/2.2/ref/contrib/admin/