Traceback (most recent call last):
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, callback_kwargs)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, *kwargs)
File "/usr/local/www/netbox/netbox/netbox/utilities/views.py", line 93, in dispatch
return super().dispatch(request, args, kwargs)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, kwargs)
File "/usr/local/www/netbox/netbox/netbox/netbox/views/generic.py", line 189, in get
return render(request, self.template_name, context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/shortcuts.py", line 19, in render
content = loader.render_to_string(template_name, context, request, using=using)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string
return template.render(context, request)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 170, in render
return self._render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render
return template.render(context={"table": table}, request=request)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 170, in render
return self._render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/defaulttags.py", line 211, in render
nodelist.append(node.render_annotated(context))
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/defaulttags.py", line 167, in render
values = list(values)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 244, in items
column.current_value = self.get_cell(column.name)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 197, in get_cell
return self._get_and_render_with(
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with
return render_func(bound_column, value)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 206, in _call_render
content = call_with_appropriate(bound_column.render, render_kwargs)
File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate
return fn(kwargs)
File "/usr/local/www/netbox/netbox/netbox/utilities/tables.py", line 240, in render
return content_type_name(value)
File "/usr/local/www/netbox/netbox/netbox/utilities/utils.py", line 310, in content_type_name
meta = contenttype.model_class()._meta
Exception Type: AttributeError at /extras/changelog/
Exception Value: 'NoneType' object has no attribute '_meta'
`
I tried to apply the commit from that issue, but it did not help. We still get the same exception and stack trace after applying the patch.
Looking at the comments in that issue it doesn't look like it was completely solved as they are getting what looks like the same exception as us.
In addition, we discovered that after removing the paging preference some pages still get the same error, while others don't. I have a feeling the person in the other issue is on to something when speculating this is related to the removed secrets functionality as this is something we have used before.
NetBox version
v3.0.0
Python version
3.8
Steps to Reproduce
Upgrade existing installation from v2.11.12 to v3.0.0.
Click Other => Change Log. See Exception.
Expected Behavior
The fine, shiny changelog page.
Observed Behavior
Output:
Server Error
There was a problem with your request. Please contact an administrator.
The complete exception is provided below:
<class 'AttributeError'>
'NoneType' object has no attribute '_meta'
Python version: 3.8.11 NetBox version: 3.0.0
Enabled debug and got this traceback:
` Environment:
Request Method: GET Request URL: https://netbox.modirum.com/extras/changelog/
Django Version: 3.2.6 Python Version: 3.8.11 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', 'taggit', 'timezone_field', 'circuits', 'dcim', 'ipam', 'extras', 'tenancy', 'users', 'utilities', 'virtualization', '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.APIVersionMiddleware', 'netbox.middleware.ObjectChangeMiddleware', 'django_prometheus.middleware.PrometheusAfterMiddleware']
Template error: In template /usr/local/www/netbox/netbox/netbox/templates/inc/table.html, error at line 20 'NoneType' object has no attribute '_meta' 10 : {% else %} 11 : <th {{ column.attrs.th.as_html }}>{{ column.header }} 12 : {% endif %} 13 : {% endfor %} 14 : 15 : 16 : {% endif %} 17 :
18 : {% for row in table.page.object_list|default:table.rows %} 19 : <tr {{ row.attrs.as_html }}> 20 : {% for column, cell in row.items %} 21 : <td {{ column.attrs.td.as_html }}>{{ cell }} 22 : {% endfor %} 23 : 24 : {% empty %} 25 : {% if table.empty_text %} 26 :Traceback (most recent call last): File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, callback_kwargs) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, *kwargs) File "/usr/local/www/netbox/netbox/netbox/utilities/views.py", line 93, in dispatch return super().dispatch(request, args, kwargs) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch return handler(request, *args, kwargs) File "/usr/local/www/netbox/netbox/netbox/netbox/views/generic.py", line 189, in get return render(request, self.template_name, context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/shortcuts.py", line 19, in render content = loader.render_to_string(template_name, context, request, using=using) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render return template.render(context={"table": table}, request=request) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/defaulttags.py", line 211, in render nodelist.append(node.render_annotated(context)) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django/template/defaulttags.py", line 167, in render values = list(values) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 244, in items column.current_value = self.get_cell(column.name) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 197, in get_cell return self._get_and_render_with( File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with return render_func(bound_column, value) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/rows.py", line 206, in _call_render content = call_with_appropriate(bound_column.render, render_kwargs) File "/usr/local/www/netbox/netbox-venv/lib/python3.8/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate return fn(kwargs) File "/usr/local/www/netbox/netbox/netbox/utilities/tables.py", line 240, in render return content_type_name(value) File "/usr/local/www/netbox/netbox/netbox/utilities/utils.py", line 310, in content_type_name meta = contenttype.model_class()._meta
Exception Type: AttributeError at /extras/changelog/ Exception Value: 'NoneType' object has no attribute '_meta' `
This installation started out on 2.1.x back in the day and has been upgraded regularly.
This seems to be related to the pagination.per_page preference setting, when we remove that from our preferences the error disappears.
We had 260 entries in the changelog and pagination.per_page set to 250.
This should be resolved under #7082 in v3.0.1. If you still experience the error after upgrading, please ask for the issue to be re-opened.
I tried to apply the commit from that issue, but it did not help. We still get the same exception and stack trace after applying the patch.
Looking at the comments in that issue it doesn't look like it was completely solved as they are getting what looks like the same exception as us.
In addition, we discovered that after removing the paging preference some pages still get the same error, while others don't. I have a feeling the person in the other issue is on to something when speculating this is related to the removed secrets functionality as this is something we have used before.
I just upgraded to 3.0.1 and the problem is still exists.
Okay, can you see if you can figure out a way to reproduce the error on a clean install, or the demo instance?
Looking closer at this, it seems to be the same as #7082.