mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Used Signature API instead of deprecated inspect.getcallargs().
inspect.getcallargs() was deprecated in Python 3.5 and the Signature API (PEP 362) has better support for decorated functions (by default, it follows the __wrapped__ attribute set by functools.wraps for example).
This commit is contained in:
parent
3df3c5e670
commit
09341856ed
@ -1916,9 +1916,8 @@ class Query(BaseExpression):
|
|||||||
group_by = list(self.select)
|
group_by = list(self.select)
|
||||||
if self.annotation_select:
|
if self.annotation_select:
|
||||||
for alias, annotation in self.annotation_select.items():
|
for alias, annotation in self.annotation_select.items():
|
||||||
try:
|
signature = inspect.signature(annotation.get_group_by_cols)
|
||||||
inspect.getcallargs(annotation.get_group_by_cols, alias=alias)
|
if 'alias' not in signature.parameters:
|
||||||
except TypeError:
|
|
||||||
annotation_class = annotation.__class__
|
annotation_class = annotation.__class__
|
||||||
msg = (
|
msg = (
|
||||||
'`alias=None` must be added to the signature of '
|
'`alias=None` must be added to the signature of '
|
||||||
|
@ -857,8 +857,9 @@ class Variable:
|
|||||||
try: # method call (assuming no args required)
|
try: # method call (assuming no args required)
|
||||||
current = current()
|
current = current()
|
||||||
except TypeError:
|
except TypeError:
|
||||||
|
signature = inspect.signature(current)
|
||||||
try:
|
try:
|
||||||
inspect.getcallargs(current)
|
signature.bind()
|
||||||
except TypeError: # arguments *were* required
|
except TypeError: # arguments *were* required
|
||||||
current = context.template.engine.string_if_invalid # invalid method call
|
current = context.template.engine.string_if_invalid # invalid method call
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user