在Django中,如何控制查询集将使用哪个数据库连接和游标

时间:2009-08-27 17:35:37

标签: python django database

我正在尝试使用不同的游标类来获取查询集以通过不同的数据库连接发出查询。有谁知道这是否可能,如果可能的话怎么办?在伪代码中:

  # setup a new db connection:
  db = db_connect(cursorclass=AlternateCursor)

  # setup a generic queryset
  qset = blah.objects.all()

  # tell qset to use the new connection:
  qset.use_db(db)

  # and then apply some filters
  qset = qset.filter(...)

  # and execute the query:
  for object in qset:
     ...

谢谢!

1 个答案:

答案 0 :(得分:3)

这可以从Django 1.0开始 - 技巧是为模型使用自定义管理器并替换管理器的连接对象。请参阅Eric Florenzano在http://www.eflorenzano.com/blog/post/easy-multi-database-support-django/

的帖子中的代码