Opened 11 months ago
Last modified 10 months ago
#36103 closed Cleanup/optimization
Simplify get_namespace() and adjust get_and_report_namespace() method signature — at Initial Version
| Reported by: | Salvo Polizzi | Owned by: | Salvo Polizzi |
|---|---|---|---|
| Component: | Core (Management commands) | Version: | 5.2 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Accepted | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | yes |
| Easy pickings: | no | UI/UX: | no |
Description
Following the discussion in PR, we propose the following improvements to enhance readability and reduce confusion:
- 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__}
- Update
get_and_report_namespace():- The
no_importsparameter in the method signature can be misleading and cause confusion for its users. - Proposed Change: Remove the
no_importsparameter 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.
- The
Note:
See TracTickets
for help on using tickets.