本周文章来源于https://medium.com/@DoorDash/tips-for-building-high-quality-django-apps-at-scale-a5a25917b2b5,这篇文章还是非常难阅读的。但是其中提到了一些django的实践还是很有借鉴意义。
文章中主要有如下观点
1、非常小心的设计你的apps
如果你不明白如何去设计多个app,你可以保持只有一个app。如果你一定要分成多个app,你必须明确减少他们的依赖。app之间的依赖越少,每个app越容易打成一个微服务。
2、明确的指定数据库表名
数据库表经常比应用程序更重要,而且活的更久,因此数据库表是核心的情况下,我们需要指定数据库表名。这样就算我们替换开发框架时候,数据表仍然一致。强烈推荐使用through
指定多对多时候的关联表,这样能更直白的获取数据交互
3、避免使用GenericForeignKey
使用GenericForeignKey会导致很多查询特性无法使用,而且也会增加系统复杂性
4、保证安全的migrations
不正确的使用migraitons可能会是服务器宕机
5、经常清理migrations文件
6、减少migrations之间的冲突
7、避免model中做太多的逻辑
8、谨慎的使用signals
9、避免直接使用orm的方法去处理数据,应该使用一些中间层次去处理,中间层再去调用orm
10、避免使用model cache