Skip to main content

NetBox Custom Objects

This NetBox plugin introduces the ability to create new object types in NetBox so that users can add models to suit their own needs. NetBox users have been able to extend the NetBox data model for some time using both Tags & Custom Fields and Plugins. Tags and Custom Fields are easy to use, but they have limitations when used at scale, and Plugins are very powerful but require Python/Django knowledge, and ongoing maintenance. Custom Objects provides users with a no-code "sweet spot" for data model extensibility, providing a lot of the power of NetBox plugins, but with the ease of use of Tags and Custom Fields.

You can find further documentation here. See the compatibility matrix for supported NetBox versions.

Installation

  1. Install the NetBox Custom Objects package.
pip install netboxlabs-netbox-custom-objects
  1. Add netbox_custom_objects to PLUGINS in configuration.py.
PLUGINS = [
    # ...
    'netbox_custom_objects',
]
  1. Run NetBox migrations and collect static files:
$ ./manage.py migrate
$ ./manage.py collectstatic
  1. Restart NetBox
sudo systemctl restart netbox netbox-rq

When a Custom Object Type has an Object or Multi-object field that points at another model — a built-in NetBox model such as Device or Site, or another Custom Object Type — a Custom Objects tab is added to the detail page of every referenced object. The tab lists all custom objects that link to the object being viewed, across every referencing field and type, with:

  • a badge showing the linked-object count (the tab hides itself when there are none),
  • search, plus type and tag filters, and sortable columns,
  • HTMX-driven pagination and per-user column configuration,
  • per-row edit/delete actions.

Discovery is automatic and requires no configuration; both non-polymorphic and polymorphic Object/Multi-object fields are supported. The tab supersedes the older "Custom Objects linking to this object" panel — it surfaces the same relationships and, unlike the panel, enforces per-Custom-Object-Type view permissions on the rows it lists.

The tab is fully live: no NetBox restart is needed for any everyday change. Defining a new Custom Object Type, adding a field that references a model nothing referenced before, and creating, editing, or deleting custom objects are all reflected on the next page load.

Note: the badge count is filtered to the viewing user's permissions, so it reflects the rows that user can actually open — and the tab hides itself entirely when the user may view none of the linked objects.

Because the rows span heterogeneous models (one per Custom Object Type), they cannot be combined into a single SQL query: the tab filters, sorts, and paginates in memory, and offers per-row rather than bulk actions. Rendering the tab on an object referenced by a very large number of custom objects costs proportionally more.

Known Limitations

NetBox Custom Objects is now Generally Available which means you can use it in production and migrations to future versions will work. There are many upcoming features including GraphQL support - the best place to see what's on the way is the issues list on the GitHub repository.

Metadata

Release files for netboxlabs-netbox-custom-objects 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netboxlabs-netbox-custom-objects 0.7.1
File Size Uploaded Provenance
netboxlabs_netbox_custom_objects-0.7.1.tar.gz 1.1 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for netboxlabs-netbox-custom-objects 0.7.1
File Interpreter ABI Platform
netboxlabs_netbox_custom_objects-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / netboxlabs_netbox_custom_objects-0.7.1.tar.gz

Download URL netboxlabs_netbox_custom_objects-0.7.1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
aae2378f977b02fe5f7d77a709741d83c9e14c29997222cbeba2f14c67fc1f0d
BLAKE2b-256 checksum
How to use checksums
143d59a542a88f12025b17aa64d74524f521faf7192b1d4d4188fe39b4289540
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / netboxlabs_netbox_custom_objects-0.7.1-py3-none-any.whl

Download URL netboxlabs_netbox_custom_objects-0.7.1-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
cf84d8ac044a97edae5241d8e36aca85e637e45afb417bea0d1e32b8baf0e031
BLAKE2b-256 checksum
How to use checksums
69817ac0a722d3f6877548fcae891387c0ce4f994ff6073e42b9546597bf6b25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for netboxlabs-netbox-custom-objects 0.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for netboxlabs_netbox_custom_objects-0.7.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page