Django(F对象Q对象,聚合查询和原生数据库操作,和admin后台管理)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值