23

SQLAlchemy除了Django's ORM ,还有人用过吗?

我想使用 Django 的 ORM 进行对象操作,使用 SQLalchemy 进行复杂查询(比如那些需要左外连接的查询)。

是否可以?

注意:我知道django-sqlalchemy但该项目似乎还没有准备好生产。

4

5 回答 5

19

我会做什么,

  1. 在 Django orm 中定义 schema,让它通过 syncdb 写入 db。您将获得管理界面。

  2. 在 view1 你需要一个复杂的连接


    def view1(request):
       import sqlalchemy
       data = sqlalchemy.complex_join_magic(...)
       ...
       payload = {'data': data, ...}
       return render_to_response('template', payload, ...)

于 2009-07-20T19:21:06.577 回答
7

我不认为同时使用两者是一个好习惯。您应该:

  1. 使用 Django 的 ORM 并在 Django 的内置 SQL 生成不能满足您的需求时使用自定义 SQL,或者
  2. 使用 SQLAlchemy(以增加复杂性为代价提供更好的控制),如果需要,可以使用Elixir等声明性层来让生活更轻松。

当然,如果你需要 Django 的管理员,那么推荐第一种方法。

于 2009-07-20T17:54:00.343 回答
7

我以前做过,很好。使用 SQLAlchemy 功能,它可以在模式中读取,因此您不需要两次声明您的字段。

您可以从设置中获取连接设置,唯一的问题是诸如不同风格的 postgres 驱动程序之类的东西(例如,有和没有 psyco)。

这是值得的,因为 SQLAlchemy 的东西对于连接之类的东西要好得多。

于 2010-08-24T10:45:36.613 回答
4

Jacob Kaplan-Moss 承认不时输入“import sqlalchemy”。在不久的将来,我可能会为 sqlalchemy 结果编写一个查询集适配器。

于 2009-08-20T20:47:20.587 回答
3

现在你可以使用Aldjemy。考虑使用本教程

于 2014-12-20T10:59:47.697 回答