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/
本文介绍了Django中的F对象和Q对象用于数据库字段的操作,以及如何进行聚合查询,包括整表查询和分组查询。此外,还详细讲解了如何进行原生数据库操作,并阐述了Django admin后台管理的注册过程,包括模型管理器类的各种设置,如list_display、list_display_links、list_filter、search_fields和list_editable。
8万+

被折叠的 条评论
为什么被折叠?



