fsbraun / djangocms-blog

django CMS blog application - Support for multilingual posts, placeholders, social network meta tags and configurable apphooks
https://djangocms-blog.readthedocs.io
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

Exception when editing post using double click #5

Open sepi opened 5 days ago

sepi commented 5 days ago

Description

Exception thrown

[12/Sep/2024 09:39:04] "GET /en/admin/djangocms_blog/postcontent/edit-field/24/en/?language=en&edit_fields=post_text&cms_path=/en/admin/cms/placeholder/object/97/edit/24/ HTTP/1.1" 500 117795
Internal Server Error: /en/admin/djangocms_blog/postcontent/edit-field/24/en/
Traceback (most recent call last):
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/cms/admin/placeholderadmin.py", line 106, in _get_object_for_single_field
    return self.model.objects.language(language).get(pk=object_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'VersionedGenericDateTaggedManager' object has no attribute 'language'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/utils/decorators.py", line 188, in _view_wrapper
    result = _process_exception(request, e)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/utils/decorators.py", line 186, in _view_wrapper
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/views/decorators/cache.py", line 80, in _view_wrapper
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/contrib/admin/sites.py", line 240, in inner
    return view(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/cms/admin/placeholderadmin.py", line 111, in edit_field
    obj = self._get_object_for_single_field(object_id, language)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/cms/admin/placeholderadmin.py", line 108, in _get_object_for_single_field
    return self.model.objects.get(pk=object_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/db/models/manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/[redacted]/para_cms/venv/lib/python3.12/site-packages/django/db/models/query.py", line 649, in get
    raise self.model.DoesNotExist(
djangocms_blog.models.PostContent.DoesNotExist: PostContent matching query does not exist.

Steps to reproduce

When setting up a Blog config to NOT use "placeholder and plugins for article body", then double clicking on an article body (it says "Double click to edit") I get the aforementioned exception. Double click-editing the title works as expected.

Versions

2bbb328

Expected behaviour

No exception shown

Actual behaviour

Exception thrown

fsbraun commented 5 days ago

It seems to me that this actually is a bug in django CMS' core: it does not deal with versioned frontend-editable fields correctly.