summaryrefslogtreecommitdiff
path: root/django/utils
diff options
context:
space:
mode:
authorDavid Sanders <shang.xiao.sanders@gmail.com>2024-02-08 19:57:14 +1100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2024-02-09 09:37:13 +0100
commit06264258dc7c7cc69b2ba5f70f782988ccb2b06c (patch)
treec9d7de1b02e85888bbaf194a673567a1eabc15c1 /django/utils
parent8b7ddd1b621e1396cf87c08faf11937732f09dcd (diff)
Fixed #35175 -- Made migraton writer preserve keyword-only arguments.
Thanks Gerald Goh for the report.
Diffstat (limited to 'django/utils')
-rw-r--r--django/utils/inspect.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/django/utils/inspect.py b/django/utils/inspect.py
index 28418f7312..81a15ed2db 100644
--- a/django/utils/inspect.py
+++ b/django/utils/inspect.py
@@ -16,13 +16,18 @@ def _get_callable_parameters(meth_or_func):
return _get_func_parameters(func, remove_first=is_method)
+ARG_KINDS = frozenset(
+ {
+ inspect.Parameter.POSITIONAL_ONLY,
+ inspect.Parameter.KEYWORD_ONLY,
+ inspect.Parameter.POSITIONAL_OR_KEYWORD,
+ }
+)
+
+
def get_func_args(func):
params = _get_callable_parameters(func)
- return [
- param.name
- for param in params
- if param.kind == inspect.Parameter.POSITIONAL_OR_KEYWORD
- ]
+ return [param.name for param in params if param.kind in ARG_KINDS]
def get_func_full_args(func):