当使用 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/