在Django中,如何控制查询集使用哪个数据库连接和游标
我想让一个查询集(queryset)在一个不同的数据库连接上执行查询,并使用不同的游标类。有没有人知道这是否可能,如果可以的话,应该怎么做呢?下面是伪代码:
# 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 个回答
3
从Django 1.0开始,这个功能就可以实现了。关键是要为你的模型使用一个自定义的管理器,并替换掉管理器的连接对象。你可以查看Eric Florenzano在这个链接中的代码:http://www.eflorenzano.com/blog/post/easy-multi-database-support-django/