【发布时间】:2010-11-12 08:44:56
【问题描述】:
除了Django的ORM,还有人用过SQLAlchemy吗?
我想使用 Django 的 ORM 进行对象操作,使用 SQLalchemy 进行复杂查询(例如需要左外连接的查询)。
有可能吗?
注意:我知道django-sqlalchemy,但该项目似乎还没有准备好生产。
【问题讨论】:
标签: python database django sqlalchemy
除了Django的ORM,还有人用过SQLAlchemy吗?
我想使用 Django 的 ORM 进行对象操作,使用 SQLalchemy 进行复杂查询(例如需要左外连接的查询)。
有可能吗?
注意:我知道django-sqlalchemy,但该项目似乎还没有准备好生产。
【问题讨论】:
标签: python database django sqlalchemy
我会怎么做,
在 Django orm 中定义 schema,让它通过 syncdb 写入 db。您将获得管理界面。
在 view1 中,您需要一个复杂的连接
def view1(request):
import sqlalchemy
data = sqlalchemy.complex_join_magic(...)
...
payload = {'data': data, ...}
return render_to_response('template', payload, ...)
【讨论】:
我认为同时使用两者并不是一个好习惯。您应该:
当然,如果你需要 Django 的管理员,那么推荐第一种。
【讨论】:
我以前做过,很好。使用 SQLAlchemy 功能,它可以在架构中读取,因此您不需要两次声明您的字段。
您可以从设置中获取连接设置,唯一的问题是诸如不同风格的 postgres 驱动程序之类的东西(例如,使用 psyco 和不使用 psyco)。
这是值得的,因为 SQLAlchemy 的东西对于连接之类的东西要好得多。
【讨论】:
Jacob Kaplan-Moss 承认不时输入“import sqlalchemy”。在不久的将来,我可能会为 sqlalchemy 结果编写一个查询集适配器。
【讨论】: