首页 > 其他分享 >《Django 5 By Example》阅读笔记:p651-p678

《Django 5 By Example》阅读笔记:p651-p678

时间:2024-11-19 23:28:54浏览次数:1  
标签:p651 ad 示例 Django annotate p678 aggregate Example

《Django 5 By Example》学习第9天,p651-p678总结,总计28页。

一、技术总结

1.aggregate()

(1)aggregate:ad-("to") + gregare("to collection into a flock(群), to gather")

因为ad 后面跟的是gregate,为了发音方便,ad演变为了ag。aggregate的本意是:vt. to combine into a single group(聚合, multiple things > single group)。

示例:The butterflies aggregate in dense groups(蝴蝶聚集在一起).

(2)数据库里面的annotate

aggregate()在数据库里面的含义是:aggregate refer to the process of summarizing or combining data from multiple row into a single result(multiple row > single result)。例如:SUM(),AVG(),COUNT(),MAX(),MIN()都称为聚合函数。

示例:

SELECT AVG(price) FROM book;

(3) Django里面的aggregate

示例:

# Average price across all books, provide default to be returned instead
# of None if no books exist.
>>> from django.db.models import Avg
>>> Book.objects.aggregate(Avg("price", default=0))
{'price__avg': 34.35}

2.annotate()

(1)annotate:ad-("to") + notare("to mark, to note")

因为ad 后面跟的是notare,为了发音方便,ad演变为了an。annotate的本意是:to add marks or notes to explain on sth(给.....作注解,给......加评注)。

(2)数据库里面的annotate

annotate()在数据库里面的含义是:annotate refers to adding supplementary information to queries or request.This can help provide context, make data more understandable, or enhance the the functionality of queries or results.

示例:

COMMENT ON COLUMN employees.salary IS 'Employee annual salary';

(3)Django里面的annotate

Django里面的annotate()函数的作用是:Annotates each object in the QuerySet with the provided list of query expressions(使用已提供的query expressions 对 QuerySet 中的每个对象进行注解。添加注解的结果是QuerySet中的每个objec会多一个字段)。

示例:

# Build an annotated queryset
>>> from django.db.models import Count
>>> q = Book.objects.annotate(Count("authors"))
# Interrogate the first object in the queryset
>>> q[0]
<Book: The Definitive Guide to Django>
>>> q[0].authors__count
2
# Interrogate the second object in the queryset
>>> q[1]
<Book: Practical Django Projects>
>>> q[1].authors__count
1

3.DRF serializer

(1)定义

p648, Serializer: Provides serialization for normal Python class instances。

(2)分类

Serializer又细分为Serializer, ModelSerializer, HyperlinkedModelSerializer.

(3)Field

IntegerField(),SerializerMethodField(),StringRelatedField()。

(4)nested serializer

nested serializer 可用于替代 StringRelatedField()。

4.DRF 分页

DRF使用PageNumberPagination 进行分页。

5.DRF authentication

(1)BasicAuthentication

(2)TokenAuthentication

(3)SessionAuthentication

(4)RemoteUserAuthentication

又提到了认证,我快要晕了,差不多每个项目都搞一次认证,能抽象出来做一个整体的介绍不?毕竟认证这块在实际项目中并不会变动那么大,真没必要花那么多章节来介绍认证的。

二、英语总结(生词:0)

无。

三、其它

(1)json_pp

curl http://127.0.0.1:8000/api/subjects/ | json_pp

不知道为什么,感觉国外的的作者特别喜欢使用curl,本人上次看到还是curl结合jq使用,这次是curl结合json_pp使用,在postman和命令行之间反复跳。可能是postman输入地址太麻烦?

重新梳理了下aggregate()、annotate()等函数的含义及用法,之前学得太糙了,不够细,慢慢的就忘掉了它的用法。

chapter 15简评:以在线学习平台为例,介绍了如何在Django项目中集成django-rest-framework。这个学习平台的介绍又是在前面几章,感觉排版很不合理,如果都是一个项目的话最好还是用一整个章节来介绍比较好。同时既然都使用了django-rest-framework了,咋不整一个前端框架呢?

四、参考资料

1. 编程

(1) Antonio Melé,《Django 5 By Example》:https://book.douban.com/subject/37007362/

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

标签:p651,ad,示例,Django,annotate,p678,aggregate,Example
From: https://www.cnblogs.com/codists/p/18555857

相关文章

  • python+vue基于django/flask的连锁超市销售管理系统(超市库存与销售管理平台)java+nodej
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • python+vue基于django/flask的奖学金评定系统(奖学金申请与管理平台)java+nodejs+php-计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • python+vue基于django/flask的同城篮球赛事场地预约系统java+nodejs+PHP-计算机毕业设
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • 《Django 5 By Example》阅读笔记:p645-p650
    《Django5ByExample》学习第8天,p645-p650总结,总计6页。一、技术总结1.django-rest-framework(1)serializerp648,Serializer:ProvidesserializationfornormalPythonclassinstances。Serializer又细分为Serializer,ModelSerializer,HyperlinkedModelSerializer.2.......
  • django mysqlclient orm
    要在Django中连接MySQL数据库,你需要确保你的环境中安装了mysqlclient这个Python库。以下是连接MySQL数据库的步骤:安装mysqlclient库。如果你使用的是pip,可以通过以下命令安装:pipinstallmysqlclient在你的Django项目的settings.py文件中,修改DATABASES设置以使用MySQL数据库。......
  • django的model时间怎么转时间戳
    在Django中,模型(Model)中的日期和时间字段通常使用Django的DateTimeField或相关字段来存储。如果你想要将这些日期时间字段转换为Unix时间戳(即自1970年1月1日以来的秒数),你可以使用Python的datetime模块中的timestamp()方法。以下是一个例子,展示了如何将Django模型中的DateTim......
  • 基于python+django的旅游数据分析与推荐系统
    前言基于python+django的旅游数据分析与推荐系统,为游客提供了智能化的旅游决策支持。系统从多种途径收集旅游数据,包括旅游网站的用户评价、景点预订信息、酒店入住数据等。通过数据清洗和预处理,确保数据的准确性和可用性。在分析方面,它能挖掘出有价值的信息。例如,......
  • 基于python+django的国内运动男装小红书文章数据可视化分析系统的设计与实现
    前言基于python+django的国内运动男装小红书文章数据可视化分析系统,为深入了解运动男装市场在小红书平台的表现提供了有效途径。系统通过网络爬虫技术收集小红书上有关国内运动男装的文章数据,包括文章内容、点赞数、收藏数、评论数、发布者信息等。对这些数据进行清......
  • 基于python+django的广东省人口流动数据分析系统
    前言基于python+django的广东省人口流动数据分析系统,是深入了解广东省人口动态的有力工具。系统能够收集多渠道的人口流动数据,包括交通枢纽的客流数据、社区登记信息、手机信令数据等。通过数据清洗和预处理,去除错误和冗余信息,保证数据质量。在分析方面,可从不同维度......
  • 基于python在线考试统计系统(Pycharm Flask Django mysql)
    文章目录项目介绍系统开发技术路线具体实现截图开发技术系统性能核心代码部分展示源码/演示视频获取方式项目介绍系统主要包括首页、个人中心、学生管理、教师管理、班级管理、班级公告管理、考试通知管理、统计成绩管理、留言信息管理、教师评论管理、试题管理、论......