python - django orm vs sqlalchemy,它们基本上是同一回事吗?

标签 python django sqlalchemy

当使用 django 时,我相信您可以将内置的 orm 换成 sqlalchemy(不知道怎么做?)。

它们基本上是同一回事还是两者之间有明显的赢家?

最佳答案

When using django, I believe you can swap out the built-in orm for sqlalchemy (not sure how though?).

您可以在 Django 应用程序中使用 SQLAlchemy。但这并不意味着您可以“交换”出 ORM。如果用 SQLAlchemy 完全替换 Django 的 ORM,一些 Django 的内置电池将停止工作。例如,管理应用程序将无法工作。

我读过人using 两者。 Django 的 ORM 让电池工作,SQLAlchemy 处理复杂的 SQL 关系和查询。

Are they both basically the same thing or there is a clear winner between the 2?

它们不是一回事。 SQLAlchemy 比 Django 的 ORM 更通用。例如,当 Django 的 ORM 将业务逻辑层和持久层紧密耦合到模型中时,SQLAlchemy 会让您将它们分开。

另一方面,SQLAlchemy 的学习曲线更陡峭,对于许多项目来说是一种矫枉过正。现有的 SQLAlchemy 迁移工具可能无法轻松与 Django 集成。

总而言之,我不会擅自宣布任何一个为“赢家”。它们是大致相似的工具,但各有优缺点和最适合的情况。

当你在讨论这个主题时,阅读这篇文章(已过时但相关)不会有什么坏处blog post关于 Django ORM 的缺点以及它与 SQLAlchemy 的比较。

关于python - django orm vs sqlalchemy,它们基本上是同一回事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3701012/

相关文章:

python - 如何在 models.py 文件中正确定义 ManyToMany 字段

python - 使用 'if in' 时元素现有标识错误

python kivy 多个标签

python - sqlalchemy.exc.ProgrammingError : (psycopg2. ProgrammingError) 无法适配类型 'property'

python - 转换为 UTF-8(再次)

Python返回最近30天的数据

python - 在 Django 中一次更新多个对象?

Django + WSGI : Refreshing Issues?

python - 如何正确创建一个 flask sqlalchemy 与多个外键的多对多关系

python - Wtforms-炼金术场序