Hi, Gordon,

Thanks a lot for sharing the details of your solution on this problem. 
So far I don't see any approach better than what you did, namely storing 
the results in some temporary place that is tied to a session. So I 
think I will just go along with this approach. I have not read carefully 
the session part in Django book, it is the time to do so now...

Wanrong

gordyt wrote:
> Hi Wanrong,
>
> This is a very good question.  I had a similar problem that I ended up
> solving with a non-Django solution because I was adding it to an
> existing PHP-based site.  But I would like to describe what I ended up
> doing to see if it would be possible to adapt it to Django.
>
> In out case we have an site that our employees use to gather
> statistics about our online application.  As in your example, the
> processing of gathering the statistics is expensive so I needed a way
> to intelligently cache the results in such a way that would allow the
> user display the information in a sortable, filterable, pageable
> widget.  (By the way, I modified an ExtJS grid for the display --
> fabulous!)
>
> Anyway, what I did was this - I used the session ID to create, in a
> writable directory, a session-specific sqlite3 database with tables
> that store the output of the expensive queries in tables that are
> denormalized to make the end-user operations very fast and
> efficient.
>
> If the data in the session-database is too old (in my case, 15
> minutes), it is regenerated.  A scheduled cron task takes care of
> deleting expired session-database files.
>
> You can tie in to Django right now given that  you use the Django
> model to extract the information from your application but then you
> would have to use your own interface to the temporary session database
> because Django currently doesn't support multiple database
> connections.  Although I think that is a work in progress.
>
> OR you could define special Django models specifically designed to
> hold the query results.  And you instantiate those based upon the
> expensive queries.  If you tied those models to the user's Session
> then the same code that cleaned up expired sessions would
> automatically clean up those report results as well.
>
> --gordon
>
>
> >
>   


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to