diff options
| author | Tom Christie | 2013-03-15 19:25:12 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-03-15 19:25:12 +0000 |
| commit | 1aedf57f4a1eb7261162977944fe233b00d63b59 (patch) | |
| tree | b091b5e765c5cbe03449961643b6887e5acb9b24 /rest_framework/fields.py | |
| parent | b6b686d285e376dbf4f2d2f15bd0e3ef0f1c3a37 (diff) | |
| parent | 22a389d0ba4dd5ac7b4fa3839491ec2708bbe7df (diff) | |
| download | django-rest-framework-1aedf57f4a1eb7261162977944fe233b00d63b59.tar.bz2 | |
Merge branch 'master' into basic-nested-serialization
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 0a199f10..4b6931ad 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -26,14 +26,16 @@ def is_simple_callable(obj): """ True if the object is a callable that takes no arguments. """ - try: - args, _, _, defaults = inspect.getargspec(obj) - except TypeError: + function = inspect.isfunction(obj) + method = inspect.ismethod(obj) + + if not (function or method): return False - else: - len_args = len(args) if inspect.isfunction(obj) else len(args) - 1 - len_defaults = len(defaults) if defaults else 0 - return len_args <= len_defaults + + args, _, _, defaults = inspect.getargspec(obj) + len_args = len(args) if function else len(args) - 1 + len_defaults = len(defaults) if defaults else 0 + return len_args <= len_defaults def get_component(obj, attr_name): |
