From fe417aad79abc71d817b885ec6fd4e806d7fc38c Mon Sep 17 00:00:00 2001 From: Alireza Savand Date: Thu, 22 Sep 2016 12:47:17 +0400 Subject: [PATCH] Add getargspec to compact --- rest_framework/compat.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rest_framework/compat.py b/rest_framework/compat.py index cee430a84..2f7961ca2 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -140,6 +140,16 @@ def value_from_object(field, obj): return field.value_from_object(obj) +def getargspec(obj): # type: tuple + if six.PY2: + parameters, _, _, defaults = inspect.getargspec(obj) + else: + signature = inspect.signature(obj) + parameters = signature.parameters + defaults = [i for i in parameters if i.default != inspect._empty] + + return parameters, defaults + # contrib.postgres only supported from 1.8 onwards. try: from django.contrib.postgres import fields as postgres_fields