extras.scripts.ObjectVar query_params supports lists as value but not tuples #4081

Closed
opened 2025-12-29 18:33:00 +01:00 by adam · 1 comment
Owner

Originally created by @netsandbox on GitHub (Sep 9, 2020).

Originally assigned to: @jeremystretch on GitHub.

Environment

  • Python version: 3.6.9
  • NetBox version: 2.9.3

Steps to Reproduce

  1. create a custom script with an ObjectVar

Expected Behavior

Sets as query_params value works:

device = ObjectVar(
        model=Device,
        query_params=dict(
            role=("blade", "rack-mount-chassis"),
        ),
    )

Observed Behavior

Only lists as query_params value works:

device = ObjectVar(
        model=Device,
        query_params=dict(
            role=["blade", "rack-mount-chassis"],
        ),
    )

The necessary change is at line 144 in:
b4299241fe/netbox/utilities/forms/widgets.py (L134-L149)

Originally created by @netsandbox on GitHub (Sep 9, 2020). Originally assigned to: @jeremystretch on GitHub. <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. This form is only for reproducible bugs. If you need assistance with NetBox installation, or if you have a general question, DO NOT open an issue. Instead, post to our mailing list: https://groups.google.com/forum/#!forum/netbox-discuss Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report, and that any plugins have been disabled. --> ### Environment * Python version: 3.6.9 * NetBox version: 2.9.3 <!-- Describe in detail the exact steps that someone else can take to reproduce this bug using the current stable release of NetBox. Begin with the creation of any necessary database objects and call out every operation being performed explicitly. If reporting a bug in the REST API, be sure to reconstruct the raw HTTP request(s) being made: Don't rely on a client library such as pynetbox. --> ### Steps to Reproduce 1. create a custom script with an ObjectVar <!-- What did you expect to happen? --> ### Expected Behavior Sets as query_params value works: ```python device = ObjectVar( model=Device, query_params=dict( role=("blade", "rack-mount-chassis"), ), ) ``` <!-- What happened instead? --> ### Observed Behavior Only lists as query_params value works: ```python device = ObjectVar( model=Device, query_params=dict( role=["blade", "rack-mount-chassis"], ), ) ``` The necessary change is at line 144 in: https://github.com/netbox-community/netbox/blob/b4299241fea39b5cd78dffffc3bfd61db54e8430/netbox/utilities/forms/widgets.py#L134-L149
adam added the type: bugstatus: accepted labels 2025-12-29 18:33:00 +01:00
adam closed this issue 2025-12-29 18:33:00 +01:00
Author
Owner

@jeremystretch commented on GitHub (Sep 9, 2020):

role=("blade", "rack-mount-chassis")

Not to nitpick, but this is a tuple, not a set.

@jeremystretch commented on GitHub (Sep 9, 2020): ``` role=("blade", "rack-mount-chassis") ``` Not to nitpick, but this is a tuple, not a set.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4081