【问题标题】:Django session handlingDjango 会话处理
【发布时间】:2011-10-07 23:21:42
【问题描述】:

我正在构建一个 django 应用程序。使用 SQLAlchemy 作为 ORM 为用户保存采购订单等数据。但是想为会话中间件使用 django ORM。

同时使用这两个 ORM 组件是一个糟糕的设计决定吗?

如果我应该只使用一个 ORM ,我应该使用哪一个。

谢谢 J

【问题讨论】:

    标签: sqlalchemy django-orm


    【解决方案1】:

    如果您使用 Django,您可能会选择它,因为您觉得与其他 Python Web 框架相比,它为您提供了项目所需的更多功能。如果您将 SQLAlchemy 与 Django 一起使用,您将失去 Django 为您提供的很多东西(例如与表单库的搭配、大量 django 应用程序等)

    另外,我不建议同时使用两者。这不是不可能的事情,但我只是看不出强迫自己在两个完全不同的 API 之间来回来回做同样的事情的好处。

    【讨论】:

      【解决方案2】:

      我在使用这两种方法时都没有遇到任何问题。我使用 Django 的模型处理会话数据和用户身份验证,使用 SQLAlchemy 处理我的应用程序使用的数据库。

      我发现 SQLAlchemy 更易于使用。然而:

      • 您无法轻松管理 SQLAlchemy 对象的安全性/用户组。 (这些组件使用 Django)
      • 我不建议让 SQLAlchemy 和 Django 访问相同的表,最好使用一个 ORM。

      否则 - 如果您的 SQLAlchemy 表与 Django 是分开的,并且不需要安全性、表单生成或直接访问 Django 表,那么它工作得很好。我不使用 Django 的表单,所以除了我的会话和用户数据之外的大部分内容都在 SQLAlchemy 中。

      如果您只能使用一个,请使用 Django ORM,否则您会失去 Django 内置的许多功能,而您还不如使用另一个框架,例如 pylons。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-11
        • 2017-05-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多