Thank you for opening a bug report. Unfortunately, the information you have provided is not sufficient for someone else to attempt to reproduce the reported behavior. Remember, each bug report must include detailed steps that someone else can follow on a clean, empty NetBox installation to reproduce the exact problem you're experiencing. These instructions should include the creation of any involved objects, any configuration changes, and complete accounting of the actions being taken. Also be sure that your report does not reference data on the public NetBox demo, as that is subject to change at any time by an outside party and cannot be relied upon for bug reports.
It is easy to reproduce:
Use a Netbox 3.0.5 wich has some prefixes (maybe greater than /31 but I can't confirm it).
Go to "IPAM" in the menu and there choose "Prefixes"
Select one of the Prefixes
In the following windows klick on "IP Adresses"
And you will retrieve the error:
During writing this I observed that I seem to get the Error only on Networks greater /24. I could not observe the behavior on IPv6, but the biggest network I have there is /32.
I am experiencing something similar with a number of prefix IP listings (e.x. https://netbox.com/ipam/prefixes/254/ip-addresses/) after upgrading to 3.0.5 from 2.11.11 (upgraded this morning). The upgrade was as smooth as can be... but at least prefix IDs 251-260 give me this exact error. I can view individual IPs in the prefix, but not the IP address listing at the URL above. These prefixes are all /24.
37 :
Traceback (most recent call last):
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 829, in _resolve_lookup
current = current[bit]
During handling of the above exception ('IPAddressTable' object is not subscriptable), another exception occurred:
File "/opt/netbox/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/opt/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 "/opt/netbox/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "/opt/netbox/netbox/utilities/views.py", line 93, in dispatch
return super().dispatch(request, *args, **kwargs)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
File "/opt/netbox/netbox/netbox/views/generic.py", line 69, in get
return render(request, self.get_template_name(), {
File "/opt/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 "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string
return template.render(context, request)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 170, in render
return self._render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/loader_tags.py", line 195, in render
return template.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 172, in render
return self._render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/defaulttags.py", line 312, in render
return nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/defaulttags.py", line 312, in render
return nodelist.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 988, in render
output = self.filter_expression.resolve(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 671, in resolve
obj = self.var.resolve(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 796, in resolve
value = self._resolve_lookup(context)
File "/opt/netbox/venv/lib/python3.8/site-packages/django/template/base.py", line 837, in _resolve_lookup
current = getattr(current, bit)
File "/opt/netbox/netbox/utilities/tables.py", line 131, in objects_count
self._objects_count = sum(1 for obj in self.data if getattr(obj, 'pk'))
File "/opt/netbox/netbox/utilities/tables.py", line 131, in
self._objects_count = sum(1 for obj in self.data if getattr(obj, 'pk'))
Exception Type: AttributeError at /ipam/prefixes/254/ip-addresses/
Exception Value: 'tuple' object has no attribute 'pk'
```
NetBox version
v3.0.5
Python version
3.7
Steps to Reproduce
When i click under prefix to see the ip addresses i see the error. The smaller /31 or /30 seem fine but if i try larger prefix's i get an error.
<class 'AttributeError'>
'tuple' object has no attribute 'pk'
Python version: 3.7.5 NetBox version: 3.0.5
Expected Behavior
Expected behaviour would be to see IP address in the current prefix.
Observed Behavior
Error:
<class 'AttributeError'>
'tuple' object has no attribute 'pk'
Python version: 3.7.5 NetBox version: 3.0.5