mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-06 00:32:08 +02:00
Cache ObjectType results for the duration of a request #497
Closed
opened 2026-04-05 16:37:12 +02:00 by MrUnknownDE
·
0 comments
No Branch/Tag Specified
main
21455-sql-indexes-audit
21357-register-model-actions
feature
20924-plugin-ui-components
21766-improve-test-coverage-for-sortable-table-columns
21157-export-template-public-models
21025-pre-render-config-contexts
21364-swagger
feature-ip-prefix-link
20911-dropdown-3
fix_module_substitution
21160-filterset
20911-dropdown-2
20044-elevation-stuck-lightmode
7604-filter-modifiers-v3
20660-script-load
19724-graphql
14884-script
19720-macaddress-interface-generic-relation
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.7
v4.5.6
v4.5.5
v4.5.4
v4.5.3
v4.5.2
v4.5.1
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
beta
beta
beta
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
plugin candidate
plugin candidate
plugin candidate
severity: high
severity: high
severity: high
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: declined
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs triage
status: needs triage
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: OpenAPI
topic: UI/UX
topic: UI/UX
topic: cabling
topic: cabling
topic: cabling
topic: cabling
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: migrations
topic: plugins
topic: plugins
topic: testing
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: deprecation
type: deprecation
type: deprecation
type: deprecation
type: deprecation
type: deprecation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: removal
type: removal
type: translation
No Label
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
MrUnknownDE
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/netbox#497
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jeremystretch on 1/22/2026
NetBox Version
v4.5.1
Python Version
3.12
Area(s) of Concern
Details
Prologue
In regular Django, the ContentType for a model is typically resolved using the
get_for_model()method on ContentTypeManager, e.g.ContentType.objects.get_for_model(Site)ContentTypes are cached on the manager itself for the duration of the Python process to avoid redundant database queries, as ContentTypes are not expected to change. (Each is tied to a model defined in code.)
To support dynamic custom objects and to track model-specific features, NetBox implements its own ObjectType class as a wrapper around Django's ContentType:
ObjectType.objects.get_for_model(Site)This works the same way, however the result of the query is not cached, because we must allow for the possibility that custom object types are added or deleted throughout the life of a process.
Problem
Although we cannot cache these results long-term, it is considered safe to cache them for the duration of a single request. As ObjectType resolutions are quite common, even a short-term caching such as this could eliminate a substantial number of redundant queries.
For example, a REST API call to create 100 IP addresses each assigned to an interface currently triggers around 700 redundant queries:
SELECT ••• FROM "core_objecttype" INNER JOIN "django_content_type" ON ("core_objecttype"."contenttype_ptr_id" = "django_content_type"."id") WHERE ("django_content_type"."app_label" = 'ipam' AND "django_content_type"."model" = 'ipaddress') LIMIT 21While these individual queries are negligible in terms of performance impact, their aggregate impact is substantial enough to warrant optimization, if only to reduce the overall number of SQL queries being executed.
Proposal
My idea is to implement a new ContextVar to serve as a cache mapping models to their resolved ObjectTypes. This cache will be cleared at the end of each request by the
event_tracking()context manager, similar to how we manage the events queue.Although this proposal targets ObjectTypes specifically, I suggest keeping the implementation generic so that it can be used for other applications, such as custom field retrieval. (I intend to open a separate issue for that work if this initial implementation proves viable.)
We can introduce a decorator to cleanly populate the cache as ObjectTypes are resolved:
This would return the cached result if available, and otherwise issue the database query and cache the result. We'll need to decide how to handle the
for_concrete_modelconditional: We could index for both True and False values, but the False condition seems uncommon enough that we might just bypass the cache for it.