为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确的使用和设置Database和Model?

如何正确的使用和设置Database和Model?

Qyouu 2019-02-15 15:11:51
如何正确的使用和设置Database和Model
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

 Model是django项目的基础, 如果一开始没有好好设计好, 那么在接下来的开发过程中就会遇到更多的问题. 然而, 大多数的开发人员都容易在缺少思考 的情况下随意的增加或修改model. 这样做的后果就是, 在接下来的开发过程中, 我们不得不做出更多努力来修正这些错误.
  因此, 在修改model时, 一定尽可能的经过充分的考虑再行动! 以下列出的是我们经常用到的一些工具和技巧:
  South, 用于数据迁移, 我们会在每个django项目中都用到. 但到django 1.7时, 将会有django.db.migrations代替.
  django-model-utils, 用于处理常见的模式, 例如TimeStampedModel.
  django-extensions, 主要用到shell_plus命令, 该命令会在shell中自动载入所有的app的model
  1. 基本原则
  第一, 将model分布于不同的app中. 如果你的django项目中, 有一个app拥有超过20个model, 那么, 你就应当考虑分拆该app了. 我们推荐每个app拥 有不超过5个model.
  第二, 尽量使用ORM. 我们需要的大多数数据库索引都能通过Object-Relational-Model实现, 且ORM带给我们许多快捷方式, 例如生成SQL语句, 读取/更新数据库时的安全验证. 因此, 如果能使用简单的ORM语句完成的, 应当尽量使用ORM. 只有当纯SQL语句极大地简化了ORM语句时, 才使用纯SQL语句. 并且, 在写纯SQL语句是, 应当优先考虑使用raw(), 再是extra().
  第三, 必要时添加index. 添加db_index=True到model中非常简单, 但难的是理解何时应该添加. 在建立model时, 我们事先不会添加index, 只有当 以下情况时, 才会考虑添加index:
  在所有的数据库查询中使用率在10%-25%时
  或当有真实的数据, 或能正确估计出使用index后的效果确实满意时

查看完整回答
反对 回复 2019-03-10
  • 1 回答
  • 0 关注
  • 596 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信