Wednesday, August 31, 2016

cache.get_or_set : function name is misleading


I wanted to refactor my code using cache.get_or_set instead of using
cache.get and then check for None and so on

However, after a few tests, it seems that get_or_set does not work as
its name suggests: it is more get_or_add than get_or_set

Looking at the source code, it indeed does a get, then a add, not a set.

To my mind, the function name is misleading, even if after a careful
reading of the doc, it explains that the value is added (not set) if not
in the cache.

I haven't found anything about this, so i may be the only one astonished
by the difference between function name and function main behaviour.
However, i think it's useful to live a comment about this for other devs.



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
To post to this group, send email to
Visit this group at
To view this discussion on the web visit
For more options, visit

No comments:

Post a Comment