@@ -261,13 +261,35 @@ class AdditionalSignPlanAdmin(
261261 )
262262 initial_values = shared_initial_values
263263
264+ # Generated for AdditionalSignPlanAdmin at 2026-02-18 13:02:09+00:00
264265 def get_queryset (self , request ):
265266 qs = super ().get_queryset (request )
266- return (
267- qs .prefetch_related ("device_type" )
268- .prefetch_related ("device_type__icon_file" )
269- .prefetch_related ("replacement_to_new" )
270- )
267+ resolver_match = getattr (request , "resolver_match" , None )
268+ if not resolver_match or not resolver_match .url_name :
269+ return qs
270+
271+ if resolver_match .url_name .endswith ("_changelist" ):
272+ return qs .select_related (
273+ "device_type" , # n:1 relation in list_display (via content -> get_content_s_rows), list_display (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
274+ "device_type__icon_file" , # n:1 relation chain in list_display (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
275+ "replacement_to_new" , # 1:1 relation in list_display (via is_replaced_as_str) # noqa: E501
276+ )
277+ elif resolver_match .url_name .endswith ("_change" ):
278+ return qs .select_related (
279+ "created_by" , # n:1 relation in fieldsets, readonly_fields, readonly_fields (via User.__str__) # noqa: E501
280+ "device_type" , # n:1 relation in fieldsets, readonly_fields (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
281+ "device_type__icon_file" , # n:1 relation chain in readonly_fields (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
282+ "mount_plan" , # n:1 relation in fieldsets, fieldsets (via MountPlan.__str__) # noqa: E501
283+ "mount_plan__mount_type" , # n:1 relation chain in fieldsets (via MountPlan.__str__) # noqa: E501
284+ "mount_type" , # n:1 relation in fieldsets, fieldsets (via MountType.__str__) # noqa: E501
285+ "owner" , # n:1 relation in fieldsets, fieldsets (via Owner.__str__) # noqa: E501
286+ "parent" , # n:1 relation in fieldsets, fieldsets (via TrafficSignPlan.__str__) # noqa: E501
287+ "parent__device_type" , # n:1 relation chain in fieldsets (via TrafficSignPlan.__str__) # noqa: E501
288+ "plan" , # n:1 relation in fieldsets, fieldsets (via Plan.__str__) # noqa: E501
289+ "updated_by" , # n:1 relation in fieldsets, readonly_fields # noqa: E501
290+ )
291+
292+ return qs
271293
272294
273295@admin .register (AdditionalSignReal )
@@ -420,23 +442,34 @@ class AdditionalSignRealAdmin(
420442 "installation_status" : InstallationStatus .IN_USE ,
421443 }
422444
445+ # Generated for AdditionalSignRealAdmin at 2026-02-18 12:01:51+00:00
423446 def get_queryset (self , request ):
424447 qs = super ().get_queryset (request )
425- return qs .select_related (
426- "device_type" ,
427- "device_type__icon_file" ,
428- "created_by" ,
429- "updated_by" ,
430- "owner" ,
431- "additional_sign_plan" ,
432- "mount_real" ,
433- # NOTE (2025-12-09 thiago)
434- # Both mount_real__mount_type and mount_type need to be prefetched independently, since we have visible
435- # columns that access the "mount_type.__str__" through different routes. Removing either prefetch will
436- # drastically increase the query count
437- "mount_real__mount_type" ,
438- "mount_type" ,
439- )
448+ resolver_match = getattr (request , "resolver_match" , None )
449+ if not resolver_match or not resolver_match .url_name :
450+ return qs
451+
452+ if resolver_match .url_name .endswith ("_changelist" ):
453+ return qs .select_related (
454+ "device_type" , # n:1 relation in list_display (via content -> get_content_s_rows), list_display (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
455+ "device_type__icon_file" , # n:1 relation chain in list_display (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
456+ )
457+ elif resolver_match .url_name .endswith ("_change" ):
458+ return qs .select_related (
459+ "additional_sign_plan" , # n:1 relation in fieldsets, fieldsets (via AdditionalSignPlan.__str__) # noqa: E501
460+ "created_by" , # n:1 relation in fieldsets, readonly_fields, readonly_fields (via User.__str__) # noqa: E501
461+ "device_type" , # n:1 relation in fieldsets, readonly_fields (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
462+ "device_type__icon_file" , # n:1 relation chain in readonly_fields (via device_type_preview -> TrafficControlDeviceTypeIcon.__str__) # noqa: E501
463+ "mount_real" , # n:1 relation in fieldsets, fieldsets (via MountReal.__str__) # noqa: E501
464+ "mount_real__mount_type" , # n:1 relation chain in fieldsets (via MountReal.__str__) # noqa: E501
465+ "mount_type" , # n:1 relation in fieldsets, fieldsets (via MountType.__str__) # noqa: E501
466+ "owner" , # n:1 relation in fieldsets, fieldsets (via Owner.__str__) # noqa: E501
467+ "parent" , # n:1 relation in fieldsets, fieldsets (via TrafficSignReal.__str__) # noqa: E501
468+ "parent__device_type" , # n:1 relation chain in fieldsets (via TrafficSignReal.__str__) # noqa: E501
469+ "updated_by" , # n:1 relation in fieldsets, readonly_fields # noqa: E501
470+ )
471+
472+ return qs
440473
441474
442475class AdditionalSignPlanInline (BaseAdditionalSignInline ):
0 commit comments