summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Cramer <dcramer@gmail.com>2012-07-13 08:17:06 +0200
committerDavid Cramer <dcramer@gmail.com>2012-07-13 08:17:06 +0200
commitfc145ee7b9b700bafa346271db212a5f3b068f5f (patch)
tree9bb87d29219647c36bbd6a3772d031d98e506460
parent28227282891d7eb7e3600a458d0d8c7164f63dcb (diff)
downloadraven-fc145ee7b9b700bafa346271db212a5f3b068f5f.tar.gz
Gracefully handle lazy values that dont match sig
-rw-r--r--raven/contrib/django/serializers.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/raven/contrib/django/serializers.py b/raven/contrib/django/serializers.py
index 41d0ebd..9fc283d 100644
--- a/raven/contrib/django/serializers.py
+++ b/raven/contrib/django/serializers.py
@@ -21,6 +21,9 @@ class PromiseSerializer(Serializer):
# EPIC HACK
# handles lazy model instances (which are proxy values that dont easily give you the actual function)
pre = value.__class__.__name__[1:]
+ if not hasattr(value, '%s__func' % pre):
+ return value
+
value = getattr(value, '%s__func' % pre)(*getattr(value, '%s__args' % pre), **getattr(value, '%s__kw' % pre))
return self.recurse(value)