Update to 4.2.0: 'NoneType' object is not iterable #10614

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

Originally created by @Azmodeszer on GitHub (Jan 7, 2025).

Deployment Type

Self-hosted

Triage priority

N/A

NetBox Version

v4.1.11

Python Version

3.11

Steps to Reproduce

Update from 4.1.11 to 4.2.0 via upgrade.sh.

Expected Behavior

Upgrade goes through.

Observed Behavior

Applying database migrations (python3 netbox/manage.py migrate)...
Traceback (most recent call last):
  File "/opt/netbox/netbox/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 416, in execute
    django.setup()
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/apps/registry.py", line 124, in populate
    app_config.ready()
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/__init__.py", line 71, in ready
    super().ready()
  File "/opt/netbox/netbox/netbox/plugins/__init__.py", line 126, in ready
    if graphql_schema := self._load_resource('graphql_schema'):
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/netbox/netbox/plugins/__init__.py", line 92, in _load_resource
    module = import_module(default_module)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/__init__.py", line 1, in <module>
    from .schema import (
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/schema.py", line 6, in <module>
    from .types import (
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/types.py", line 21, in <module>
    from .filters import (
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/filters.py", line 15, in <module>
    from netbox_dns.filtersets import (
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/filtersets/__init__.py", line 2, in <module>
    from .zone import *
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/filtersets/zone.py", line 18, in <module>
    class ZoneFilterSet(TenancyFilterSet, NetBoxModelFilterSet):
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/filtersets/zone.py", line 77, in ZoneFilterSet
    queryset=Zone.objects.all(),
             ^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/manager.py", line 164, in all
    return self.get_queryset()
           ^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/models/zone.py", line 70, in get_queryset
    .annotate(
     ^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/query.py", line 1630, in annotate
    return self._annotate(args, kwargs, select=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/query.py", line 1680, in _annotate
    clone.query.add_annotation(
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1194, in add_annotation
    annotation = annotation.resolve_expression(self, allow_joins=True, reuse=None)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/expressions.py", line 292, in resolve_expression
    [
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/expressions.py", line 294, in <listcomp>
    expr.resolve_expression(query, allow_joins, reuse, summarize)
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/query_utils.py", line 90, in resolve_expression
    clause, joins = query._add_q(
                    ^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1641, in _add_q
    child_clause, needed_inner = self.build_filter(
                                 ^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1555, in build_filter
    condition = self.build_lookup(lookups, col, value)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1385, in build_lookup
    lookup = lookup_class(lhs, rhs)
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/lookups.py", line 30, in __init__
    self.rhs = self.get_prep_lookup()
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/lookups.py", line 497, in get_prep_lookup
    return super().get_prep_lookup()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/lookups.py", line 298, in get_prep_lookup
    for rhs_value in self.rhs:
TypeError: 'NoneType' object is not iterable
Originally created by @Azmodeszer on GitHub (Jan 7, 2025). ### Deployment Type Self-hosted ### Triage priority N/A ### NetBox Version v4.1.11 ### Python Version 3.11 ### Steps to Reproduce Update from 4.1.11 to 4.2.0 via upgrade.sh. ### Expected Behavior Upgrade goes through. ### Observed Behavior ``` Applying database migrations (python3 netbox/manage.py migrate)... Traceback (most recent call last): File "/opt/netbox/netbox/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line utility.execute() File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 416, in execute django.setup() File "/opt/netbox/venv/lib/python3.11/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/opt/netbox/venv/lib/python3.11/site-packages/django/apps/registry.py", line 124, in populate app_config.ready() File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/__init__.py", line 71, in ready super().ready() File "/opt/netbox/netbox/netbox/plugins/__init__.py", line 126, in ready if graphql_schema := self._load_resource('graphql_schema'): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/netbox/netbox/plugins/__init__.py", line 92, in _load_resource module = import_module(default_module) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/__init__.py", line 1, in <module> from .schema import ( File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/schema.py", line 6, in <module> from .types import ( File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/types.py", line 21, in <module> from .filters import ( File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/graphql/filters.py", line 15, in <module> from netbox_dns.filtersets import ( File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/filtersets/__init__.py", line 2, in <module> from .zone import * File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/filtersets/zone.py", line 18, in <module> class ZoneFilterSet(TenancyFilterSet, NetBoxModelFilterSet): File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/filtersets/zone.py", line 77, in ZoneFilterSet queryset=Zone.objects.all(), ^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/manager.py", line 164, in all return self.get_queryset() ^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/netbox_dns/models/zone.py", line 70, in get_queryset .annotate( ^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/query.py", line 1630, in annotate return self._annotate(args, kwargs, select=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/query.py", line 1680, in _annotate clone.query.add_annotation( File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1194, in add_annotation annotation = annotation.resolve_expression(self, allow_joins=True, reuse=None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/expressions.py", line 292, in resolve_expression [ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/expressions.py", line 294, in <listcomp> expr.resolve_expression(query, allow_joins, reuse, summarize) File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/query_utils.py", line 90, in resolve_expression clause, joins = query._add_q( ^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1641, in _add_q child_clause, needed_inner = self.build_filter( ^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1555, in build_filter condition = self.build_lookup(lookups, col, value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/sql/query.py", line 1385, in build_lookup lookup = lookup_class(lhs, rhs) ^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/lookups.py", line 30, in __init__ self.rhs = self.get_prep_lookup() ^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/lookups.py", line 497, in get_prep_lookup return super().get_prep_lookup() ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/netbox/venv/lib/python3.11/site-packages/django/db/models/lookups.py", line 298, in get_prep_lookup for rhs_value in self.rhs: TypeError: 'NoneType' object is not iterable ```
adam closed this issue 2025-12-29 21:33:44 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#10614