VLAN filter available_at_site not possible in scripts #10888

Closed
opened 2025-12-29 21:37:19 +01:00 by adam · 0 comments
Owner

Originally created by @Olen on GitHub (Mar 13, 2025).

Deployment Type

NetBox Cloud

NetBox Version

v4.1.10

Python Version

3.12

Steps to Reproduce

  1. Create a script to select some VLANs
  2. Try to filter on availabe_at_site
  3. Receive Exception

Expected Behavior

VLAN list should be returned

Observed Behavior

>>> VLAN.objects.filter(available_at_site=221)
Traceback (most recent call last):
  File "/usr/lib/python3.12/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<console>", line 1, in <module>
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1476, in filter
    return self._filter_or_exclude(False, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1494, in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1501, in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1613, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1645, in _add_q
    child_clause, needed_inner = self.build_filter(
                                 ^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1495, in build_filter
    lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1307, in solve_lookup_type
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1772, in names_to_path
    raise FieldError(
django.core.exceptions.FieldError: Cannot resolve keyword 'available_at_site' into field. Choices are: bookmarks, comments, created, custom_field_data, description, endpointport, group, group_id, id, interfaces_as_tagged, interfaces_as_untagged, journal_entries, l2vpn_terminations, last_updated, name, prefixes, role, role_id, site, site_id, status, subscriptions, tagged_items, tags, tenant, tenant_id, vid, vminterfaces_as_tagged, vminterfaces_as_untagged, wirelesslan

The filter works fine using Swagger and the web API

Originally created by @Olen on GitHub (Mar 13, 2025). ### Deployment Type NetBox Cloud ### NetBox Version v4.1.10 ### Python Version 3.12 ### Steps to Reproduce 1. Create a script to select some VLANs 2. Try to filter on availabe_at_site 3. Receive Exception ### Expected Behavior VLAN list should be returned ### Observed Behavior ``` >>> VLAN.objects.filter(available_at_site=221) Traceback (most recent call last): File "/usr/lib/python3.12/code.py", line 90, in runcode exec(code, self.locals) File "<console>", line 1, in <module> File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1476, in filter return self._filter_or_exclude(False, args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1494, in _filter_or_exclude clone._filter_or_exclude_inplace(negate, args, kwargs) File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/query.py", line 1501, in _filter_or_exclude_inplace self._query.add_q(Q(*args, **kwargs)) File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1613, in add_q clause, _ = self._add_q(q_object, self.used_aliases) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1645, in _add_q child_clause, needed_inner = self.build_filter( ^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1495, in build_filter lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1307, in solve_lookup_type _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.12/site-packages/django/db/models/sql/query.py", line 1772, in names_to_path raise FieldError( django.core.exceptions.FieldError: Cannot resolve keyword 'available_at_site' into field. Choices are: bookmarks, comments, created, custom_field_data, description, endpointport, group, group_id, id, interfaces_as_tagged, interfaces_as_untagged, journal_entries, l2vpn_terminations, last_updated, name, prefixes, role, role_id, site, site_id, status, subscriptions, tagged_items, tags, tenant, tenant_id, vid, vminterfaces_as_tagged, vminterfaces_as_untagged, wirelesslan ``` The filter works fine using Swagger and the web API
adam closed this issue 2025-12-29 21:37:19 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#10888