SQLAlchemy和django,生产准备好了吗?

时间:2009-07-20 15:44:45

标签: python database django sqlalchemy

除了SQLAlchemy的ORM之外,还有人使用过Django吗?

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

有可能吗?

注意:我知道django-sqlalchemy,但该项目似乎没有生产就绪。

5 个答案:

答案 0 :(得分:18)

我会做什么,

  1. 在Django orm中定义模式,让它通过syncdb写入数据库。你得到了管理界面。

  2. 在view1中,您需要一个复杂的连接

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

答案 1 :(得分:7)

我认为使用两者都不是好习惯。你应该:

  1. 使用Django的ORM并使用自定义SQL,其中Django的内置SQL生成不能满足您的需求,或者
  2. 使用SQLAlchemy(以更复杂的代价为您提供更好的控制),如果需要,可以使用Elixir之类的声明层来使生活更轻松。
  3. 当然,如果您需要Django的管理员,那么建议采用第一种方法。

答案 2 :(得分:7)

我以前做过,没关系。使用SQLAlchemy功能,它可以在架构中读取,因此您不需要两次声明字段。

你可以从设置中获取连接设置,唯一的问题是像postgres驱动程序的不同风格(例如使用psyco和没有)。

这是值得的,因为SQLAlchemy的东西对于像连接这样的东西来说更好。

答案 3 :(得分:4)

Jacob Kaplan-Moss承认不时输入“import sqlalchemy”。我可能会在不太遥远的未来为sqlalchemy结果编写一个queryset适配器。

答案 4 :(得分:3)

现在你可以使用Aldjemy。请考虑使用此tutorial