diff options
author | David Cramer <dcramer@gmail.com> | 2012-07-13 08:17:06 +0200 |
---|---|---|
committer | David Cramer <dcramer@gmail.com> | 2012-07-13 08:17:06 +0200 |
commit | fc145ee7b9b700bafa346271db212a5f3b068f5f (patch) | |
tree | 9bb87d29219647c36bbd6a3772d031d98e506460 | |
parent | 28227282891d7eb7e3600a458d0d8c7164f63dcb (diff) | |
download | raven-fc145ee7b9b700bafa346271db212a5f3b068f5f.tar.gz |
Gracefully handle lazy values that dont match sig
-rw-r--r-- | raven/contrib/django/serializers.py | 3 |
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) |