Django - 后端逻辑与数据库逻辑

时间:2017-06-04 11:24:34

标签: python mysql django django-models django-rest-framework

我想知道一个好习惯是在MySQL数据库(触发器等)中有一些逻辑而不是Django后端的逻辑。我知道有些功能可以在后端和数据库中完成,但我希望按照良好实践来完成。我不确定我应该手动做一些事情,或者Django应该生成整个数据库(是否可能)?尽可能做到最好的规则是什么?我想知道有经验的人的意见。

1 个答案:

答案 0 :(得分:1)

确实,如果您将数据库用于业务逻辑,则可以获得最大可能的性能和安全性优化。但是,您还会冒许多风险,例如

  • 不分离关注
  • 绑定到数据库供应商

此外,您在数据库中编写的任何逻辑都不会受到应用程序的版本控制。因此,无论何时更改数据库,都必须再次创建所有这些内容。

相反,使用Django ORM。它将根据您的模型自行创建和管理您的数据库。因此,无论何时重新创建数据库,您只需使用一个命令运行迁移即可完成。

这将涵盖大多数情况。每当您需要这些存储过程的速度时,Django ORM也会为您提供保障。

简而言之,我认为业务逻辑应该尽可能地远离数据库。