Opened 10 hours ago

Last modified 5 hours ago

#36103 assigned Cleanup/optimization

Simplify get_namespace() and adjust get_and_report_namespace() method signature — at Version 1

Reported by: Salvo Polizzi Owned by: Salvo Polizzi
Component: Core (Management commands) Version: 5.2
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Salvo Polizzi)

Following the last discussion in 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__}
      
  1. 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.

Change History (1)

comment:1 by Salvo Polizzi, 10 hours ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top