If you are using trunk, after you update to 1695, you'll need to run:

./manage.py syncdb
./manage.py satchmo_rebuild_pricing

Usually I just put notices in the backwards incompatible page, but this is a
special case because it isn't simply a db update.  The problem is (was) that
Satchmo started to get very slow when you ran into hundreds or thousands of
possible variations.  Most of this was simple database access, and most of
*that* was figuring out pricing for all the possible variants.
In fact, for one client, I was seeing 5500 db queries to load just one
product page.  I've managed to cut that down to a couple hundred with this
update (yes, it is still a lot of calls, but it is a big site, and this
solution grows linearly rather than exponentially).  Basically, what we are
doing now is building a "denormalized" pricing lookup table.  So we can get
all the prices for a product and its variants in just one DB call.

The only tradeoff is that if you are using prices that expire, you have to
make sure to update your pricing lookup table every day.  The easiest way to
do that is to simply add it to your crontab, like so:

22 2 * * * /usr/bin/python /path/to/site/manage.py satchmo_rebuild_pricing
>/dev/null 2>&1

Note, you do not need to run the price rebuild if you are changing prices,
or if you add/remove products.  Satchmo will catch those situations and
update the table for you.

-- 
Bruce Kroeze
http://gosatchmo.com

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

Reply via email to