X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/01e93f28b2829fd3924a3b6021a201c1b6ed3d72..6e038e764b061c6702acbb4ea51811f4439d14a7:/forum/models/base.py?ds=sidebyside diff --git a/forum/models/base.py b/forum/models/base.py index 33bf0c8..912c21a 100644 --- a/forum/models/base.py +++ b/forum/models/base.py @@ -83,7 +83,8 @@ class CachedQuerySet(models.query.QuerySet): obj.cache() else: obj = self.obj_from_datadict(obj) - obj.reset_original_state() + + obj.reset_original_state() return obj @@ -171,13 +172,19 @@ class CachedQuerySet(models.query.QuerySet): if to_return: for row in to_return: if hasattr(row, 'leaf'): - yield row.leaf - else: - yield row + row = row.leaf - def _get_query_hash(self): - return md5(unicode(self.query).encode("utf-8")).hexdigest() + row.reset_original_state() + yield row + def _get_query_hash(self): + try: + return md5(unicode(self.query).encode("utf-8")).hexdigest() + except: + try: + return md5(self.query).hexdigest() + except: + return md5(str(self.query)).hexdigest() class CachedManager(models.Manager):