digitalfabrik/integreat-cms

Error when trying to create a new POI category

Closed this issue · 1 comments

Describe the Bug

The POI category form does not open......

Steps to Reproduce

  1. Go to Location Categories in Network Management
  2. Click on "Create location category"
  3. See ValueError

Expected Behavior

POI category form opens

Actual Behavior

An error occurs 😿

ValueError at /location-categories/new/

'POICategory' instance needs to have a primary key value before this relationship can be used.

Additional Information

Traceback
Mar 20 13:56:03 ERROR   django.request - 500 Internal Server Error: /location-categories/new/
Traceback (most recent call last):
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
  response = get_response(request)
             ^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 220, in _get_response
  response = response.render()
             ^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/response.py", line 114, in render
  self.content = self.rendered_content
                 ^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/response.py", line 92, in rendered_content
  return template.render(context, self._request)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/backends/django.py", line 61, in render
  return self.template.render(context)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 175, in render
  return self._render(context)
         ^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 167, in _render
  return self.nodelist.render(context)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in render
  return SafeString("".join([node.render_annotated(context) for node in self]))
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in <listcomp>
  return SafeString("".join([node.render_annotated(context) for node in self]))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 966, in render_annotated
  return self.render(context)
         ^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/loader_tags.py", line 157, in render
  return compiled_parent._render(context)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 167, in _render
  return self.nodelist.render(context)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in render
  return SafeString("".join([node.render_annotated(context) for node in self]))
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in <listcomp>
  return SafeString("".join([node.render_annotated(context) for node in self]))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 966, in render_annotated
  return self.render(context)
         ^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/loader_tags.py", line 157, in render
  return compiled_parent._render(context)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 167, in _render
  return self.nodelist.render(context)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in render
  return SafeString("".join([node.render_annotated(context) for node in self]))
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in <listcomp>
  return SafeString("".join([node.render_annotated(context) for node in self]))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 966, in render_annotated
  return self.render(context)
         ^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/loader_tags.py", line 63, in render
  result = block.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in render
  return SafeString("".join([node.render_annotated(context) for node in self]))
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in <listcomp>
  return SafeString("".join([node.render_annotated(context) for node in self]))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 966, in render_annotated
  return self.render(context)
         ^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/loader_tags.py", line 63, in render
  result = block.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in render
  return SafeString("".join([node.render_annotated(context) for node in self]))
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 1005, in <listcomp>
  return SafeString("".join([node.render_annotated(context) for node in self]))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/base.py", line 966, in render_annotated
  return self.render(context)
         ^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/template/defaulttags.py", line 194, in render
  len_values = len(values)
               ^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/forms/formsets.py", line 121, in __len__
  return len(self.forms)
             ^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/utils/functional.py", line 57, in __get__
  res = instance.__dict__[self.name] = self.func(instance)
                                       ^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/forms/formsets.py", line 205, in forms
  return [
         ^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/forms/formsets.py", line 206, in <listcomp>
  self._construct_form(i, **self.get_form_kwargs(i))
                            ^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/integreat_cms/cms/forms/poi_categories/poi_category_translation_form.py", line 93, in get_form_kwargs
  id__in=self.instance.translations.values_list("language__id", flat=True)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method
  return getattr(self.get_queryset(), name)(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^
File "/opt/integreat-cms/.venv/lib/python3.11/site-packages/django/db/models/fields/related_descriptors.py", line 718, in get_queryset
  raise ValueError(
ValueError: 'POICategory' instance needs to have a primary key value before this relationship can be used.

This reminds me of #2675. This was exactly the same exception, just about regions