Wednesday, August 31, 2016

cache.get_or_set : function name is misleading

Hi,

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.

Cheers

Florian

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/46cbd955-705d-2d52-e1db-a88a40b7c635%40iragne.fr.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment