#36103: Simplify get_namespace() and adjust get_and_report_namespace() method
signature
-------------------------------------+-------------------------------------
Reporter: Salvo Polizzi | Owner: Salvo
Type: | Polizzi
Cleanup/optimization | Status: assigned
Component: Core (Management | Version: dev
commands) |
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by Salvo Polizzi:
Old description:
> Following the discussion in [https://github.com/django/django/pull/18158
> PR], we propose the following improvements to enhance readability and
> reduce confusion:
> 1. Simplify `get_namespace()`:
> - The current implementation of get_namespace() can be rewritten as a
> one-liner for better readability without changing its functionality.
> - Example:
> {{{
> #current
> def get_namespace(self):
> apps_models = apps.get_models()
> namespace = {}
> for model in reversed(apps_models):
> if model.__module__:
> namespace[model.__name__] = model
> return namespace
>
> #proposed
> def get_namespace():
> return {m.__name__: m for m in reversed(apps.get_models()) if
> m.__module__}
> }}}
>
> 2. Update `get_and_report_namespace()`:
> - The `no_imports` parameter in the method signature can be
> misleading and cause confusion for its users.
> - Proposed Change: Remove the `no_imports` parameter from the method
> and instead handle its logic in the relevant runners where the
> namespace is imported.
> - Justification: This improves separation of concerns and makes the
> method more focused.
New description:
Following the last discussion in
[https://github.com/django/django/pull/18158 PR], we propose the following
improvements to enhance readability and reduce confusion:
1. Simplify `get_namespace()`:
- The current implementation of get_namespace() can be rewritten as a
one-liner for better readability without changing its functionality.
- Example:
{{{
#current
def get_namespace(self):
apps_models = apps.get_models()
namespace = {}
for model in reversed(apps_models):
if model.__module__:
namespace[model.__name__] = model
return namespace
#proposed
def get_namespace():
return {m.__name__: m for m in reversed(apps.get_models()) if
m.__module__}
}}}
2. Update `get_and_report_namespace()`:
- The `no_imports` parameter in the method signature can be
misleading and cause confusion for its users.
- Proposed Change: Remove the `no_imports` parameter from the method
and instead handle its logic in the relevant runners where the
namespace is imported.
- Justification: This improves separation of concerns and makes the
method more focused.
--
--
Ticket URL: <https://code.djangoproject.com/ticket/36103#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/django-updates/010701946dfb46ac-21c3741b-fbf1-42ca-82aa-5e33ec11138b-000000%40eu-central-1.amazonses.com.