我想知道一个好习惯是在MySQL数据库(触发器等)中有一些逻辑而不是Django后端的逻辑。我知道有些功能可以在后端和数据库中完成,但我希望按照良好实践来完成。我不确定我应该手动做一些事情,或者Django应该生成整个数据库(是否可能)?尽可能做到最好的规则是什么?我想知道有经验的人的意见。
答案 0 :(得分:1)
确实,如果您将数据库用于业务逻辑,则可以获得最大可能的性能和安全性优化。但是,您还会冒许多风险,例如
此外,您在数据库中编写的任何逻辑都不会受到应用程序的版本控制。因此,无论何时更改数据库,都必须再次创建所有这些内容。
相反,使用Django ORM。它将根据您的模型自行创建和管理您的数据库。因此,无论何时重新创建数据库,您只需使用一个命令运行迁移即可完成。
这将涵盖大多数情况。每当您需要这些存储过程的速度时,Django ORM也会为您提供保障。
简而言之,我认为业务逻辑应该尽可能地远离数据库。