diff options
| author | David Sanders <shang.xiao.sanders@gmail.com> | 2024-02-08 19:57:14 +1100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2024-02-09 09:37:13 +0100 |
| commit | 06264258dc7c7cc69b2ba5f70f782988ccb2b06c (patch) | |
| tree | c9d7de1b02e85888bbaf194a673567a1eabc15c1 /django/utils | |
| parent | 8b7ddd1b621e1396cf87c08faf11937732f09dcd (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.py | 15 |
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): |
