【问题标题】:Django - backend logic vs database logic [closed]Django - 后端逻辑与数据库逻辑
【发布时间】:2017-11-05 07:37:01
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    • 没有关注点分离
    • 与数据库供应商绑定

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

    改为使用 Django ORM。它将根据您的模型自行创建和管理您的数据库。因此,每当您重新创建数据库时,您只需使用一个命令运行迁移即可。

    这将涵盖大多数情况。当您需要存储过程的这些速度时,Django ORM 也可以满足您的需求。

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

    【讨论】:

      猜你喜欢
      • 2013-04-12
      • 2013-12-15
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 2011-06-02
      • 1970-01-01
      相关资源
      最近更新 更多