Django ORM 烹饪书来了(Django orm cookbook 开源书中文版)
背景
19年年初,我在使用django orm开发一段时间后,本来想总结一系列的相关技巧,偶然机会发现这本开源书籍,写的非常简单易懂,都是一章一个问题的形式,配有详细的例子,是快速熟悉ORM和实际问题问题的集锦。于是我打算动手翻译这本小书。
这本书翻译于19年年初,也得到了原作者agiliq工作室的支持。下面放出链接和详细目录,希望对大家有所帮助,个人翻译水平和精力有限,欢迎交流问题。
书籍链接:https://django-orm-cookbook-zh-cn.readthedocs.io/zh_CN/latest/
原书(英文)链接:http://books.agiliq.com/projects/django-orm-cookbook/en/latest/
查询和筛选
- 1. 如何查看Django ORM查询集的原生SQL?
- 2. 如何在Django ORM中使用 OR 查询?
- 3. 如何在Django ORM中使用 AND 查询?
- 4. 如何在Django ORM中使用 NOT 查询?
- 5. 如何从相同或不同的模型类中联合两个查询集结果?
- 6. 如何选择同一查询集中的某些字段?
- 7. 如何在Django中使用子查询(内连接)?
- 8. 如何基于字段值比较标准来筛选字符集?
- 9. 如何筛选没有任何文件的FileField字段?
- 10. 如何在Django ORM中执行JOIN操作?
- 11. 如何使用Django ORM找到排行第二的记录?
- 12. 如何查找具有重复字段值的列?
- 13. 如何从查询集中找到独一无二的字段值?
- 14. 如何使用Q对象进行复杂查询?
- 15. 如何在Django ORM中使用聚合查询?
- 16. 如何从模型中有效地选取一个随机对象?
- 17. 如何在查询集中使用任意的数据库函数?
增删改
- 1. 如何一次创建多个对象?
- 2. 如何复制一个现有的模型对象?
- 3. 如何确保只有一个对象被创建?
- 4. 如何在保存时更新其他模型中的非规范化字段?
- 5. 如何使用Django ORM执行类似truncate操作?
- 6. Django在对象创建和更新时,会引发哪些信号?
- 7. 如何将字符串转化为datetime并存入数据库?
排序
数据库模型
- 1. 如何建立一对一的关系模型?
- 2. 如何建立一对多的关系模型?
- 3. 如何建立多对多的模型关系?
- 4. 如何在模型中包含自引用外键?
- 5. 如何转化已有的数据表到Django模型?
- 6. 如何为数据库视图添加模型?
- 7. 如何创建可与任何实体相关联的通用模型(如类别或评论)?
- 8. 如何指定模型的表名?
- 9. 如何给模型字段指定列名?
- 10.
null=True
和blank=True
的区别? - 11. 如何使用UUID替代ID作为主键?
- 12. 如何使用Django的slug字段提高代码可读性?
- 13. 如果添加多个数据到Django应用?
测试
For every complex problem there is an answer that is clear, simple, and wrong. --H. L. Mencken