obj.cache()
else:
obj = self.obj_from_datadict(obj)
- obj.reset_original_state()
+
+ obj.reset_original_state()
return obj
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):
use_for_related_fields = True
- def get_query_set(self):
+ def get_queryset(self):
return CachedQuerySet(self.model)
def get_or_create(self, *args, **kwargs):
cls.add_to_class("reset_%s_cache" % name, reset_cache)
-class BaseMetaClass(models.Model.__metaclass__):
+class BaseMetaClass(type(models.Model)):
to_denormalize = []
def __new__(cls, *args, **kwargs):