Django 快速开发实战
吕召刚
前大众点评搜索负责人
22705 人已学习
新⼈⾸单¥68
课程目录
已完结/共 76 讲
日常开发中常见的复杂场景:Django进阶开发实战 (22讲)
通往Hacker之路 (3讲)
Django 快速开发实战
登录|注册
留言
10
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 11 | 数据建模 & 企业级数据库设计原则
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 初识Django:Django适合做什么?
04 | 用2个命令创建一个包含用户管理功能的后台
05 | 开始Django之旅 :10分钟如何创建一个可以管理职位的后台
06 | 产品体验优化:快速迭代完善应用
07 | 添加自定义页面:让匿名用户可以浏览职位列表页
08 | 添加自定义页面:让匿名用户可以查看职位详情
09 | 开始一个正式的产品:产品背景、迭代思维与MVP产品规划
10 | 唯快不破:在产品中使用产品迭代思维
11 | 数据建模 & 企业级数据库设计原则
12 | 创建应用和模型,分组展示页面内容
13 | 产品新需求:如何批量从Excel文件导入候选人数据(命令行工具)
14 | 产品体验优化:候选人列表筛选和查询
15 | 省去单独的账号管理工作:企业域账号集成
16 | 批量设置面试官:面试官的导入、授权
17 | 产品新需求 :如何导出候选人的数据到CSV(增加自定义的数据操作菜单)
18 | 如何记录日志方便排查问题
19 | 生产环境的配置如何管理更安全: 生产环境与开发环境配置分离
20 | 产品细节完善
21 | 定制更美观的主题
22 | 定制面试官权限
23 | 系统报错功能:钉钉群消息集成&通知一面面试官
24 | 允许候选人注册登录: 集成Registration
25 | 候选人简历存储:创建简历Model
26 | 让候选人可以在线投递简历
27 | 使用Bootstrap来定制页面样式
28 | 简历评估&安排一面面试官
29 | 定制列表字段,查看简历详情
30 | 遗留系统集成:为已有系统数据库生成管理后台
31 | Django的中间件(Middleware)
32 | 创建请求日志、性能日志记录中间件
33 | 在Django中支持多语言
34 | 错误和异常日志上报:Sentry集成
35 | 错误和异常日志上报:捕获异常上报到Sentry并发送钉钉群通知
36 | Django安全防护:防止XSS跨站脚本攻击
37 | Django安全防护:CSRF跨站请求伪造和SQL注入攻击
38 | Django Rest Framework开放API
39 | 在Django中使用缓存&Redis的使用
40 | Django与Celery 集成:Celery的使用
41 | Django与Celery集成:异步任务
42 | Django与Celery集成:定时任务
43 | 文件和图片上传功能
44 | 实践中的问题:多数据库路由
45 | Django之美:3 行代码支持大数据量的关联外键 (autocomplete_fields)
46 | Django之美:20行代码实现只读站点ReadOnlyAdmin
47| Django之美:10行代码自动注册所有Model到Admin管理后台
48 | Django之美:Signals信号及其使用场景
49 | Django之美:优雅的架构设计 - CSR架构总结之Celery
50 | Django之美:优雅的架构设计 - CSR架构总结之Sentry&Django Rest Framework
51 | Django之美:Django的常用插件
52 | 生产环境要注意哪些事项:生产环境的应用部署
53 | 应用水平扩展:使用负载均衡
54 | 让网站访问更快:使用CDN加速
55 | 让故障在第一时间被感知到:接入监控告警
56 | 生产环境中的安全:生产环境的安全设计
57 | 生产环境中的安全:应用安全
58 | 生产环境中的安全:架构安全
59 | 生产环境中的安全:数据安全
60 | 生产环境中的安全:密码安全与业务安全
61 | 云环境中的部署:Docker容器的基础用法
62 | 云环境中的部署:如何像分发集装箱一样发布应用
63 | 云环境中的部署:开发环境的容器化&构建小镜像
64 | 云环境中的部署:什么时候需要容器编排
65 | 云环境中的部署:阿里云上搭建Kubernetes集群
66 | 云环境中的部署:管理监控容器中的Django应用
67 | 云环境中的部署:应用日志收集与查询
68 | 云环境中的持续集成:CI/CD的工作流程
69 | 云环境中的持续集成:CI/CD的基本使用
70 | 快速迭代的价值与挑战
71 | 使用OOPD方法识别产品核心功能
72 | 如何做技术方案设计与工作拆解
73 | 如何保证交付质量和持续迭代
74 | 如何更高效地寻求帮助?
75 | 一名Hacker的成长之路
76 | 结束语
登录 后留言

全部留言(10)

  • 最新
  • 精选
杰洛特
老师您好,数据库设计的时候似乎还有一种流行的说法是不使用任何外键,外键约束要在业务层做逻辑判断,这种说法合理码?

作者回复: 线上运行不建议使用外键。django 里面可以用外键关系,只是数据库里面不创建 Foreign key。性能会更好,也能利用 django 的优点。

2021-02-12
3
李琦
使用关联查询(SQL Join)是一种常见的数据库查询操作,用于将两个或多个表中的相关数据联接在一起。关联查询可以帮助我们在数据库中进行复杂的数据分析和查询,尤其是当数据被分散存储在多个表中时。 然而,有些情况下,避免或减少关联查询可以提供一些性能上的优势。以下是一些可能导致架构师提出不使用关联查询的观点的情况: 数据库性能优化:在某些情况下,使用关联查询可能会导致较高的查询成本,特别是当表的大小很大或关联条件复杂时。在这种情况下,通过避免关联查询,可以减少查询的执行时间和资源消耗,提高数据库的性能。 数据库设计简化:有时,将数据分散存储在多个表中可能导致复杂的数据库结构。对于某些特定的业务需求和查询场景,如果能够通过重新设计数据模型或者使用冗余数据来避免关联查询,可能可以简化数据库的设计和维护。 水平扩展和分布式数据库:在一些大规模应用中,为了实现水平扩展和分布式处理,数据可能会被分布在多个物理节点或分片中。在这种情况下,跨节点的关联查询可能会导致较高的网络开销和性能下降。通过避免关联查询,可以减少跨节点的数据传输,提高分布式数据库的性能。 需要注意的是,不使用关联查询并不适用于所有情况。关联查询是一种非常强大和灵活的查询操作,可以处理复杂的数据关系。在大多数情况下,使用适当的索引和优化查询语句,数据库引擎可以有效地执行关联查询,并提供高性能的结果。 因此,是否使用关联查询需要根据具体的业务需求、数据模型和性能要求来评估。架构师在特定的上下文中提出不使用关联查询的建议,可能是基于特定的优化目标和约束条件。在实际应用中,需要综合考虑各种因素,并进行性能测试和评估,以确定最佳的数据库设计和查询策略。
2023-05-19
1
赤红热血
领域建模这些也没有,上来一天直接交付系统?
2021-04-11
3
1
liaozd
不用join怎么做连表的属性排序?
2022-12-13
浩仔是程序员
不join,怎么设计呢?
2022-11-26
leven87
任何两张表都不join? 没看懂,比如我这里有个实验平台,要查询每个同学所在的实验组的名称,这个只能做user表里写一个group_id,不做join,难道再每个同学在Group表里再单独查询吗?
2021-07-04
1
Grandia
一个候选人简历,多次面试,很自然就会想到简历一张表,评估一张表,通过候选人ID相关联,并表处理并不会节约很多开发时间,不是很理解这个设计呢
2020-10-30
1
不记年
如果不用join的,又要保证数据一致性选择。那就要在代码做大量的join操作,这个开发效率太低了吧。逻辑删除会破坏主键的唯一性,还会有数据爆炸的风险,这个怎么回避呢
2020-10-22
2
无心
对于后续增加的字段,以及数据表结构,如何拆分呢?
2020-10-22
🌏
沙发
2020-10-22
收起评论