【发布时间】:2010-10-29 10:22:08
【问题描述】:
我是 Django 新手,但我想到的应用程序最终可能会具有如下所示的 URL:
http://mysite/compare/id_1/id_2
其中“id_1”和“id_2”是两个不同模型对象的标识符。在“比较”的处理程序中,我想异步并行地查询和检索对象 id_1 和 id_2。
有没有办法使用标准的 Django 语法来做到这一点?我希望伪代码最终看起来像这样:
import django.async
# Issue the model query, but set it up asynchronously.
# The next 2 lines don't actually touch my database
o1 = Object(id=id_1).async_fetch()
o2 = Object(id=id_2).async_fetch()
# Now that I know what I want to query, fire off a fetch to do them all
# in parallel, and wait for all queries to finish before proceeding.
async.Execute((o2,o2))
# Now the code can use data from o1 and o2 below...
【问题讨论】:
-
因为一切都被缓存了,我怀疑你会从这种事情中看到任何好处。您的对象获取真的是应用程序中最慢的部分吗?
-
一切都不会被缓存,这实际上只是我正在考虑的实际设计的一个简单版本。想象一下论坛软件的“获取此线程中的所有帖子”之类的东西。帖子的数量可能非常大(1000 条),并且访问模式可能不会全部缓存。
标签: python mysql django multithreading django-models