Opened 5 hours ago

Last modified 30 minutes ago

#36103 assigned Cleanup/optimization

Simplify get_namespace() and adjust get_and_report_namespace() method signature for automatic imports in Shell command

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 (3)

comment:1 by Salvo Polizzi, 5 hours ago

Description: modified (diff)

comment:2 by Natalia Bidart, 30 minutes ago

Triage Stage: UnreviewedAccepted
Version: dev5.2

Thank you Salvo for this ticket, I overall agree except for the no_imports, I have no problem to remove it from get_and_report_namespace but we should do it in a way that does not duplicate logic/checks. Thank you!

comment:3 by Natalia Bidart, 30 minutes ago

Summary: Simplify get_namespace() and adjust get_and_report_namespace() method signatureSimplify get_namespace() and adjust get_and_report_namespace() method signature for automatic imports in Shell command
Note: See TracTickets for help on using tickets.
Back to Top