I created a simple decorator for this purpose:

http://djangosnippets.org/snippets/2874/

Wrap your expensive model methods with @auto_memoize and the results
will be cached in memory for the duration of the request.

_Nik

On 6/10/2013 9:58 AM, Kurtis wrote:
> I have two views which perform a ton of DB queries. The views
> themselves don't perform the queries; they simply call quite a few
> Model methods to build the context data. I understand that I could
> simply build one method to re-use the data but I'd like to sustain the
> "Object Oriented" quality of the code I've developed.
>
> If possible, I'd like to be able to cache these queries when these
> views are called. A lot of the queries are simply re-produced but
> perform different calculations or what-not based on the method called.
>
> These views do not create persistent data; they simply hit the
> database and return calculated results from what's in there.
>
> The caching mechanism should simply persist through the duration of
> the request. For example, subsequent requests should not use cached
> results from a previous request.
>
> Let me know if anybody has suggestions or experience with implementing
> something along these lines. I have some 'creative' ideas on how to do
> it but I'd like to get some input first.
>
> Thanks!
> - Kurtis
> -- 
> You received this message because you are subscribed to the Google
> Groups "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to