AttributeError after upgrade to v3.0.0 from 2.11.12 #5258

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

Originally created by @tbnobody on GitHub (Aug 31, 2021).

Originally assigned to: @jeremystretch on GitHub.

NetBox version

v3.0.0

Python version

3.9

Steps to Reproduce

I just upgraded to v3.0.0, run the upgrade.sh script... if no cookie exist in the browser, I see the frontend. But if I press the login button, enter the credentials and press login I get the following exception:

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.9.2
NetBox version: 3.0.0
If further assistance is required, please post to the NetBox mailing list.

Home Page

Expected Behavior

I just like to login

Observed Behavior

Internal Server Error: /
Traceback (most recent call last):
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/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 145, in get
    return render(request, self.template_name, {
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/shortcuts.py", line 19, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 195, in render
    return template.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 172, in render
    return self._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render
    return template.render(context={"table": table}, request=request)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 211, in render
    nodelist.append(node.render_annotated(context))
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 167, in render
    values = list(values)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 244, in items
    column.current_value = self.get_cell(column.name)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 197, in get_cell
    return self._get_and_render_with(
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with
    return render_func(bound_column, value)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 206, in _call_render
    content = call_with_appropriate(bound_column.render, render_kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate
    return fn(**kwargs)
  File "/opt/netbox/netbox/utilities/tables.py", line 240, in render
    return content_type_name(value)
  File "/opt/netbox/netbox/utilities/utils.py", line 310, in content_type_name
    meta = contenttype.model_class()._meta
AttributeError: 'NoneType' object has no attribute '_meta'
Originally created by @tbnobody on GitHub (Aug 31, 2021). Originally assigned to: @jeremystretch on GitHub. ### NetBox version v3.0.0 ### Python version 3.9 ### Steps to Reproduce I just upgraded to v3.0.0, run the upgrade.sh script... if no cookie exist in the browser, I see the frontend. But if I press the login button, enter the credentials and press login I get the following exception: ``` 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.9.2 NetBox version: 3.0.0 If further assistance is required, please post to the NetBox mailing list. Home Page ``` ### Expected Behavior I just like to login ### Observed Behavior ``` Internal Server Error: / Traceback (most recent call last): File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/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 145, in get return render(request, self.template_name, { File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/shortcuts.py", line 19, in render content = loader.render_to_string(template_name, context, request, using=using) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 312, in render return nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 195, in render return template.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 172, in render return self._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render return template.render(context={"table": table}, request=request) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 211, in render nodelist.append(node.render_annotated(context)) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 167, in render values = list(values) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 244, in items column.current_value = self.get_cell(column.name) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 197, in get_cell return self._get_and_render_with( File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with return render_func(bound_column, value) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 206, in _call_render content = call_with_appropriate(bound_column.render, render_kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate return fn(**kwargs) File "/opt/netbox/netbox/utilities/tables.py", line 240, in render return content_type_name(value) File "/opt/netbox/netbox/utilities/utils.py", line 310, in content_type_name meta = contenttype.model_class()._meta AttributeError: 'NoneType' object has no attribute '_meta' ```
adam added the type: bugstatus: accepted labels 2025-12-29 19:25:59 +01:00
adam closed this issue 2025-12-29 19:25:59 +01:00
Author
Owner

@decode13 commented on GitHub (Aug 31, 2021):

Having the same issue.
Python version: 3.8

Also I see in nginx/error.log:
2021/08/31 09:33:48 [error] 2077#2077: *5 open() "/opt/netbox/netbox/static/netbox.css" failed (2: No such file or directory), client: ::ffff:10.4.19.18, server: netbox.test.com, request: "GET /static/netbox.css HTTP/1.1", host: "netbox.test.com", referrer: "http://netbox.test.com/"

@decode13 commented on GitHub (Aug 31, 2021): Having the same issue. Python version: 3.8 Also I see in nginx/error.log: 2021/08/31 09:33:48 [error] 2077#2077: *5 open() "/opt/netbox/netbox/static/netbox.css" failed (2: No such file or directory), client: ::ffff:10.4.19.18, server: netbox.test.com, request: "GET /static/netbox.css HTTP/1.1", host: "netbox.test.com", referrer: "http://netbox.test.com/"
Author
Owner

@tbnobody commented on GitHub (Aug 31, 2021):

You are right. I also see the 404 in the nginx logs...

@tbnobody commented on GitHub (Aug 31, 2021): You are right. I also see the 404 in the nginx logs...
Author
Owner

@jeremystretch commented on GitHub (Aug 31, 2021):

Could someone who is experiencing this issue please try to provide more information? I'm not able to replicate it either locally or using the demo instance.

The 404 error is unrelated to this (see #7078).

@jeremystretch commented on GitHub (Aug 31, 2021): Could someone who is experiencing this issue please try to provide more information? I'm not able to replicate it either locally or using the [demo instance](https://demo.netbox.dev). The 404 error is unrelated to this (see #7078).
Author
Owner

@jeremystretch commented on GitHub (Aug 31, 2021):

I'm not sure about the root cause, but the exception itself seems easy enough to resolve.

@jeremystretch commented on GitHub (Aug 31, 2021): I'm not sure about the root cause, but the exception itself seems easy enough to resolve.
Author
Owner

@tbnobody commented on GitHub (Aug 31, 2021):

I just applied your commit... Now the error changed to

Internal Server Error: /
Traceback (most recent call last):
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/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 145, in get
    return render(request, self.template_name, {
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/shortcuts.py", line 19, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 195, in render
    return template.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 172, in render
    return self._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render
    return template.render(context={"table": table}, request=request)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 211, in render
    nodelist.append(node.render_annotated(context))
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 167, in render
    values = list(values)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 244, in items
    column.current_value = self.get_cell(column.name)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 197, in get_cell
    return self._get_and_render_with(
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with
    return render_func(bound_column, value)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 206, in _call_render
    content = call_with_appropriate(bound_column.render, render_kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate
    return fn(**kwargs)
  File "/opt/netbox/netbox/utilities/tables.py", line 242, in render
    return content_type_name(value)
  File "/opt/netbox/netbox/utilities/utils.py", line 310, in content_type_name
    meta = contenttype.model_class()._meta
AttributeError: 'NoneType' object has no attribute '_meta'
@tbnobody commented on GitHub (Aug 31, 2021): I just applied your commit... Now the error changed to ``` Internal Server Error: / Traceback (most recent call last): File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/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 145, in get return render(request, self.template_name, { File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/shortcuts.py", line 19, in render content = loader.render_to_string(template_name, context, request, using=using) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 312, in render return nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/loader_tags.py", line 195, in render return template.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 172, in render return self._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/templatetags/django_tables2.py", line 167, in render return template.render(context={"table": table}, request=request) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 211, in render nodelist.append(node.render_annotated(context)) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 167, in render values = list(values) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 244, in items column.current_value = self.get_cell(column.name) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 197, in get_cell return self._get_and_render_with( File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with return render_func(bound_column, value) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 206, in _call_render content = call_with_appropriate(bound_column.render, render_kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate return fn(**kwargs) File "/opt/netbox/netbox/utilities/tables.py", line 242, in render return content_type_name(value) File "/opt/netbox/netbox/utilities/utils.py", line 310, in content_type_name meta = contenttype.model_class()._meta AttributeError: 'NoneType' object has no attribute '_meta' ```
Author
Owner

@tbnobody commented on GitHub (Aug 31, 2021):

The problem seems to be deeper...
I added

    if contenttype.model_class() is None:                                                                                                                                                                                                                                                       
        return None                    

in row 310... and get the following output (only showing the last couple lines)

  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 167, in render
    values = list(values)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 244, in items
    column.current_value = self.get_cell(column.name)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 197, in get_cell
    return self._get_and_render_with(
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with
    return render_func(bound_column, value)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 206, in _call_render
    content = call_with_appropriate(bound_column.render, render_kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate
    return fn(**kwargs)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/columns/templatecolumn.py", line 66, in render
    return Template(self.template_code).render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 172, in render
    return self._render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 305, in render
    match = condition.eval(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 889, in eval
    return self.value.resolve(context, ignore_failures=True)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 671, in resolve
    obj = self.var.resolve(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 796, in resolve
    value = self._resolve_lookup(context)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 837, in _resolve_lookup
    current = getattr(current, bit)
  File "/opt/netbox-3.0.0/venv/lib/python3.9/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.0.0/venv/lib/python3.9/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)
AttributeError: 'NoneType' object has no attribute '_base_manager'
@tbnobody commented on GitHub (Aug 31, 2021): The problem seems to be deeper... I added ``` if contenttype.model_class() is None: return None ``` in row 310... and get the following output (only showing the last couple lines) ``` File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 167, in render values = list(values) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 244, in items column.current_value = self.get_cell(column.name) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 197, in get_cell return self._get_and_render_with( File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 173, in _get_and_render_with return render_func(bound_column, value) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/rows.py", line 206, in _call_render content = call_with_appropriate(bound_column.render, render_kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/utils.py", line 572, in call_with_appropriate return fn(**kwargs) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django_tables2/columns/templatecolumn.py", line 66, in render return Template(self.template_code).render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 172, in render return self._render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render return self.nodelist.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 305, in render match = condition.eval(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/defaulttags.py", line 889, in eval return self.value.resolve(context, ignore_failures=True) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 671, in resolve obj = self.var.resolve(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 796, in resolve value = self._resolve_lookup(context) File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/template/base.py", line 837, in _resolve_lookup current = getattr(current, bit) File "/opt/netbox-3.0.0/venv/lib/python3.9/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.0.0/venv/lib/python3.9/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) AttributeError: 'NoneType' object has no attribute '_base_manager' ```
Author
Owner

@tbnobody commented on GitHub (Aug 31, 2021):

Ok... I changed line 175 to match like this:

try:
    return self.model_class()._base_manager.using(self._state.db).get(**kwargs)
except AttributeError:
    raise ValueError(self)

And the output is:

  File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/contrib/contenttypes/models.py", line 178, in get_object_for_this_type
    raise ValueError(self)
ValueError: secret

Maybe it has something todo with the removed secret functionallity (I used this function btw...)? Can you reopen that issue? because it seems not to be fixed...

@tbnobody commented on GitHub (Aug 31, 2021): Ok... I changed line 175 to match like this: ``` try: return self.model_class()._base_manager.using(self._state.db).get(**kwargs) except AttributeError: raise ValueError(self) ``` And the output is: ``` File "/opt/netbox-3.0.0/venv/lib/python3.9/site-packages/django/contrib/contenttypes/models.py", line 178, in get_object_for_this_type raise ValueError(self) ValueError: secret ``` Maybe it has something todo with the removed secret functionallity (I used this function btw...)? Can you reopen that issue? because it seems not to be fixed...
Author
Owner

@jeremystretch commented on GitHub (Sep 1, 2021):

Ok, it seems like the ContentType is still there, but the model isn't. We just need to account for that condition.

@jeremystretch commented on GitHub (Sep 1, 2021): Ok, it seems like the ContentType is still there, but the model isn't. We just need to account for that condition.
Author
Owner

@tbnobody commented on GitHub (Sep 2, 2021):

I've just upgraded to version 3.0.1 but the error still exists...

<class 'AttributeError'>

'NoneType' object has no attribute '_base_manager'

Python version: 3.9.2
NetBox version: 3.0.1

Log file shows:

  File "/opt/netbox-3.0.1/venv/lib/python3.9/site-packages/django/template/base.py", line 796, in resolve
    value = self._resolve_lookup(context)
  File "/opt/netbox-3.0.1/venv/lib/python3.9/site-packages/django/template/base.py", line 837, in _resolve_lookup
    current = getattr(current, bit)
  File "/opt/netbox-3.0.1/venv/lib/python3.9/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.0.1/venv/lib/python3.9/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)
AttributeError: 'NoneType' object has no attribute '_base_manager'

I changed line 175 to something like this:

try: 
    return self.model_class()._base_manager.using(self._state.db).get(**kwargs)
except AttributeError: 
    return None

which fixes the problem (but not sure if this is the right way)

@tbnobody commented on GitHub (Sep 2, 2021): I've just upgraded to version 3.0.1 but the error still exists... ``` <class 'AttributeError'> 'NoneType' object has no attribute '_base_manager' Python version: 3.9.2 NetBox version: 3.0.1 ``` Log file shows: ``` File "/opt/netbox-3.0.1/venv/lib/python3.9/site-packages/django/template/base.py", line 796, in resolve value = self._resolve_lookup(context) File "/opt/netbox-3.0.1/venv/lib/python3.9/site-packages/django/template/base.py", line 837, in _resolve_lookup current = getattr(current, bit) File "/opt/netbox-3.0.1/venv/lib/python3.9/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.0.1/venv/lib/python3.9/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) AttributeError: 'NoneType' object has no attribute '_base_manager' ``` I changed line 175 to something like this: ``` try: return self.model_class()._base_manager.using(self._state.db).get(**kwargs) except AttributeError: return None ``` which fixes the problem (but not sure if this is the right way)
Author
Owner

@decode13 commented on GitHub (Sep 2, 2021):

We found that this error appears for users that had secrets.
Users that did not have secrets can login normally.

@decode13 commented on GitHub (Sep 2, 2021): We found that this error appears for users that had secrets. Users that did not have secrets can login normally.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#5258