'ObjectChange' is not subscriptable on upgrade to 3.1-beta1 #5634

Closed
opened 2025-12-29 19:30:20 +01:00 by adam · 10 comments
Owner

Originally created by @rodvand on GitHub (Nov 8, 2021).

NetBox version

v3.1-beta1

Python version

3.8

Steps to Reproduce

Unsure on the full steps to reproduce, but I believe it relates to having a Changelog entry from a cable creation. Upgraded from NetBox 3.0.9 to 3.1-beta1.

Expected Behavior

Front page to load with no issue.

Observed Behavior

I can load pages where Changelogs are not fetched, so it' definitely related to changelog entries.

image

Apologies for providing error message by screenshot... it was just the easiest way here.

Originally created by @rodvand on GitHub (Nov 8, 2021). ### NetBox version v3.1-beta1 ### Python version 3.8 ### Steps to Reproduce Unsure on the full steps to reproduce, but I believe it relates to having a Changelog entry from a cable creation. Upgraded from NetBox 3.0.9 to 3.1-beta1. ### Expected Behavior Front page to load with no issue. ### Observed Behavior I can load pages where Changelogs are not fetched, so it' definitely related to changelog entries. ![image](https://user-images.githubusercontent.com/56864/140806379-19f21cfc-b195-4c1c-b58d-874ab2b204e0.png) Apologies for providing error message by screenshot... it was just the easiest way here.
adam added the type: bugstatus: under reviewbeta labels 2025-12-29 19:30:20 +01:00
adam closed this issue 2025-12-29 19:30:20 +01:00
Author
Owner

@jeremystretch commented on GitHub (Nov 11, 2021):

I believe it relates to having a Changelog entry from a cable creation.

I suspect you're right, but I haven't been able to reproduce this. It would help to see the full stack trace; are you able to post that? (If you click "Switch to copy-and-paste view" next to the "Traceback" heading it will show a plaintext traceback.)

@jeremystretch commented on GitHub (Nov 11, 2021): > I believe it relates to having a Changelog entry from a cable creation. I suspect you're right, but I haven't been able to reproduce this. It would help to see the full stack trace; are you able to post that? (If you click "Switch to copy-and-paste view" next to the "Traceback" heading it will show a plaintext traceback.)
Author
Owner

@rodvand commented on GitHub (Nov 11, 2021):

This is the error text from the email notification. As I've deleted all the change logs I'm unable to reproduce the issue right now.

Internal Server Error: /

AttributeError at /
'NoneType' object has no attribute '_base_manager'

Request Method: GET
Request URL: https://****/ Django Version: 3.2.9 Python Executable: /opt/netbox-3.1-beta1/venv/bin/python3
Python Version: 3.8.3
Python Path: ['/opt/netbox/netbox', '/opt/netbox-3.1-beta1/netbox', '/opt/netbox-3.1-beta1/venv/bin', '/usr/lib64/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload', '/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages', '/opt/netbox-3.1-beta1/venv/lib/python3.8/site-packages']
Server time: Mon, 08 Nov 2021 19:35:54 +0100 Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'corsheaders',
 'debug_toolbar',
 'graphiql_debug_toolbar',
 'django_filters',
 'django_tables2',
 'django_prometheus',
 'graphene_django',
 'mptt',
 'rest_framework',
 'social_django',
 'taggit',
 'timezone_field',
 'circuits',
 'dcim',
 'ipam',
 'extras',
 'tenancy',
 'users',
 'utilities',
 'virtualization',
 'wireless',
 'django_rq',
 'drf_yasg']
Installed Middleware:
['graphiql_debug_toolbar.middleware.DebugToolbarMiddleware',
 'django_prometheus.middleware.PrometheusBeforeMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'netbox.middleware.ExceptionHandlingMiddleware',
 'netbox.middleware.RemoteUserMiddleware',
 'netbox.middleware.LoginRequiredMiddleware',
 'netbox.middleware.DynamicConfigMiddleware',
 'netbox.middleware.APIVersionMiddleware',
 'netbox.middleware.ObjectChangeMiddleware',
 'django_prometheus.middleware.PrometheusAfterMiddleware']


Traceback (most recent call last):
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 829, in _resolve_lookup
    current = current[bit]

During handling of the above exception ('ObjectChange' object is not subscriptable), another exception occurred:
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
  File "/opt/netbox/netbox/netbox/views/__init__.py", line 150, in get
    return render(request, self.template_name, {
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/shortcuts.py", line 19, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render
    return template.render(context={"table": table}, request=request)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 211, in render
    nodelist.append(node.render_annotated(context))
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 167, in render
    values = list(values)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 244, in items
    column.current_value = self.get_cell(column.name)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 197, in get_cell
    return self._get_and_render_with(
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with
    return render_func(bound_column, value)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 206, in _call_render
    content = call_with_appropriate(bound_column.render, render_kwargs)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate
    return fn(**kwargs)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/columns/templatecolumn.py", line 66, in render
    return Template(self.template_code).render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 172, in render
    return self._render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 305, in render
    match = condition.eval(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 889, in eval
    return self.value.resolve(context, ignore_failures=True)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 671, in resolve
    obj = self.var.resolve(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 796, in resolve
    value = self._resolve_lookup(context)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 837, in _resolve_lookup
    current = getattr(current, bit)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/contrib/contenttypes/fields.py", line 241, in __get__
    rel_obj = ct.get_object_for_this_type(pk=pk_val)
  File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/contrib/contenttypes/models.py", line 175, in get_object_for_this_type
    return self.model_class()._base_manager.using(self._state.db).get(**kwargs)

Exception Type: AttributeError at /
Exception Value: 'NoneType' object has no attribute '_base_manager'
@rodvand commented on GitHub (Nov 11, 2021): This is the error text from the email notification. As I've deleted all the change logs I'm unable to reproduce the issue right now. ``` Internal Server Error: / AttributeError at / 'NoneType' object has no attribute '_base_manager' Request Method: GET Request URL: https://****/ Django Version: 3.2.9 Python Executable: /opt/netbox-3.1-beta1/venv/bin/python3 Python Version: 3.8.3 Python Path: ['/opt/netbox/netbox', '/opt/netbox-3.1-beta1/netbox', '/opt/netbox-3.1-beta1/venv/bin', '/usr/lib64/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload', '/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages', '/opt/netbox-3.1-beta1/venv/lib/python3.8/site-packages'] Server time: Mon, 08 Nov 2021 19:35:54 +0100 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'corsheaders', 'debug_toolbar', 'graphiql_debug_toolbar', 'django_filters', 'django_tables2', 'django_prometheus', 'graphene_django', 'mptt', 'rest_framework', 'social_django', 'taggit', 'timezone_field', 'circuits', 'dcim', 'ipam', 'extras', 'tenancy', 'users', 'utilities', 'virtualization', 'wireless', 'django_rq', 'drf_yasg'] Installed Middleware: ['graphiql_debug_toolbar.middleware.DebugToolbarMiddleware', 'django_prometheus.middleware.PrometheusBeforeMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'netbox.middleware.ExceptionHandlingMiddleware', 'netbox.middleware.RemoteUserMiddleware', 'netbox.middleware.LoginRequiredMiddleware', 'netbox.middleware.DynamicConfigMiddleware', 'netbox.middleware.APIVersionMiddleware', 'netbox.middleware.ObjectChangeMiddleware', 'django_prometheus.middleware.PrometheusAfterMiddleware'] Traceback (most recent call last): File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 829, in _resolve_lookup current = current[bit] During handling of the above exception ('ObjectChange' object is not subscriptable), another exception occurred: File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch return handler(request, *args, **kwargs) File "/opt/netbox/netbox/netbox/views/__init__.py", line 150, in get return render(request, self.template_name, { File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/shortcuts.py", line 19, in render content = loader.render_to_string(template_name, context, request, using=using) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 312, in render return nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render return template.render(context={"table": table}, request=request) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 211, in render nodelist.append(node.render_annotated(context)) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 167, in render values = list(values) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 244, in items column.current_value = self.get_cell(column.name) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 197, in get_cell return self._get_and_render_with( File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with return render_func(bound_column, value) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/rows.py", line 206, in _call_render content = call_with_appropriate(bound_column.render, render_kwargs) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate return fn(**kwargs) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django_tables2/columns/templatecolumn.py", line 66, in render return Template(self.template_code).render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 172, in render return self._render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 305, in render match = condition.eval(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/defaulttags.py", line 889, in eval return self.value.resolve(context, ignore_failures=True) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 671, in resolve obj = self.var.resolve(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 796, in resolve value = self._resolve_lookup(context) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/template/base.py", line 837, in _resolve_lookup current = getattr(current, bit) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/contrib/contenttypes/fields.py", line 241, in __get__ rel_obj = ct.get_object_for_this_type(pk=pk_val) File "/opt/netbox-3.1-beta1/venv/lib64/python3.8/site-packages/django/contrib/contenttypes/models.py", line 175, in get_object_for_this_type return self.model_class()._base_manager.using(self._state.db).get(**kwargs) Exception Type: AttributeError at / Exception Value: 'NoneType' object has no attribute '_base_manager' ```
Author
Owner

@jeremystretch commented on GitHub (Nov 15, 2021):

Unfortunately I still haven't been able to reproduce this. I've been populating the changelog under v3.0 with all types of changes that might be relevant and then upgrading to v3.1, but I never encounter an error. @rodvand can you think of anything else to try?

@jeremystretch commented on GitHub (Nov 15, 2021): Unfortunately I still haven't been able to reproduce this. I've been populating the changelog under v3.0 with all types of changes that might be relevant and then upgrading to v3.1, but I never encounter an error. @rodvand can you think of anything else to try?
Author
Owner

@DanSheps commented on GitHub (Nov 15, 2021):

@rodvand I know this is a long shot, but... Would you happen to have a pre-upgrade db snapshot?

@DanSheps commented on GitHub (Nov 15, 2021): @rodvand I know this is a long shot, but... Would you happen to have a pre-upgrade db snapshot?
Author
Owner

@rodvand commented on GitHub (Nov 15, 2021):

I can revert to an older install and try upgrading again. Can you give me some pointers on what would be useful info to collect when I do so? We do have "unlimited" change log retention enabled so there would be stuff there from 2.8 and onward.

@rodvand commented on GitHub (Nov 15, 2021): I can revert to an older install and try upgrading again. Can you give me some pointers on what would be useful info to collect when I do so? We do have "unlimited" change log retention enabled so there would be stuff there from 2.8 and onward.
Author
Owner

@jeremystretch commented on GitHub (Nov 15, 2021):

I'd love to see if we can narrow it down to the specific change record that's causing the error. Maybe try navigating to the change log with ?per_page=1 and trying clicking through one by one? If the exception is showing on the home page, it should be in the top 15.

@jeremystretch commented on GitHub (Nov 15, 2021): I'd love to see if we can narrow it down to the specific change record that's causing the error. Maybe try navigating to the change log with `?per_page=1` and trying clicking through one by one? If the exception is showing on the home page, it should be in the top 15.
Author
Owner

@DanSheps commented on GitHub (Nov 15, 2021):

Good point. I was thinking revert and get an export of the content types so we could see what type ID is up, then get a list of content types from the DB.

@DanSheps commented on GitHub (Nov 15, 2021): Good point. I was thinking revert and get an export of the content types so we could see what type ID is up, then get a list of content types from the DB.
Author
Owner

@jeremystretch commented on GitHub (Nov 18, 2021):

@rodvand any luck reproducing this? I still haven't been able to, and I've been jumping between develop and feature pretty frequently.

@jeremystretch commented on GitHub (Nov 18, 2021): @rodvand any luck reproducing this? I still haven't been able to, and I've been jumping between `develop` and `feature` pretty frequently.
Author
Owner

@rodvand commented on GitHub (Nov 18, 2021):

I managed to reproduce it with the backup of my database. It was due to change log entries by a plugin (netbox-bgp). I had disabled the plugin for the upgrade, but the change log entries were still lurking behind creating havoc. Apologies for the confusion.

@rodvand commented on GitHub (Nov 18, 2021): I managed to reproduce it with the backup of my database. It was due to change log entries by a plugin (netbox-bgp). I had disabled the plugin for the upgrade, but the change log entries were still lurking behind creating havoc. Apologies for the confusion.
Author
Owner

@jeremystretch commented on GitHub (Nov 18, 2021):

Ahh, that makes sense. Thanks for following up!

@jeremystretch commented on GitHub (Nov 18, 2021): Ahh, that makes sense. Thanks for following up!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#5634