Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Registered Snippet Object].DoesNotExist: [Registered Snippet Object] matching query does not exist. #684

Open
pdeero opened this issue Mar 28, 2023 · 0 comments

Comments

@pdeero
Copy link

pdeero commented Mar 28, 2023

Dear Wagtail Community,

again i need your help. I would be so glad if someone could help me, we want to go live with our documentation page build in wagtail. But we are facing some issues if we try to translate a snippet from german to english with pages it's no problem. We are facing the problems only with registered snippets.

In the past we had no problems with the translation of snippets but after somewhile we are now facing weird issues. At this moment we can't translate. When we were translating it will face an error, the error message you'll find underneath.

Does somebody has an idea to fix it?

This is our requirements.txt:

Django==4.1.1
wagtail==4.2
wagtail_localize==1.5
django-extensions==3.2.0
psycopg2==2.9.3
loglevel==0.1.2
Wand==0.6.10
django-redis==5.2.0
sentry-sdk==1.10.1
wagtail-honeypot==1.0.0
wagtail-transfer==0.8.5

This our snippet model:

@register_snippet
class Navbar(TranslatableMixin, models.Model):
    """
    Snippet for site navigation bars (header, main menu, etc.)
    """
    button_text = models.CharField(
        max_length=255,
        verbose_name='Link Text',
        default=''
    )
    button_link = models.ForeignKey(
        'wagtailcore.Page',
        on_delete=models.SET_NULL,
        default=None,
        null=True,
        blank=True,
        related_name='+',
    )
    button_link_text = models.CharField(
        max_length=255,
        verbose_name='Button Link Text',
        default="",
        blank=True,
    )
    name = models.CharField(
        max_length=255,
        verbose_name='Name',
    )
    sub_menu_items = StreamField(
        SUB_NAVIGATION_STREAMBLOCKS,
        verbose_name='Sub Navigation links',
        blank=True,
        collapsed=True
    )
    contact_phone = models.CharField(
        max_length=255,
        verbose_name='Contact phone',
        default=''
    )
    contact_email = models.CharField(
        max_length=255,
        verbose_name='Contact email',
        default=''
    )
    menu_items = StreamField(
        NAVIGATION_STREAMBLOCKS,
        verbose_name='Navigation links',
        blank=True,
        collapsed=True
    )
    language_code = models.CharField(
        max_length=10, default=''
    )


    panels = [
        FieldPanel('name'),
        FieldPanel('sub_menu_items'),
        MultiFieldPanel(
            [
                FieldPanel('contact_phone'),
                FieldPanel('contact_email'),
                FieldPanel('button_text'),
                FieldPanel('button_link'),
                FieldPanel('button_link_text'),
            ],
            heading='Navigation Button'
        ),
        FieldPanel('menu_items'),
    ]

    def __str__(self):
        return self.name

    @property
    def navbar_button_link(self):
        return self.button_link_text or self.button_link.url

    class Meta(TranslatableMixin.Meta):
        verbose_name = 'Navigation Bar'

This is the error log:

Internal Server Error: /admin/localize/submit/snippet/hintbox/navbar/4/
Traceback (most recent call last):
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/django/views/decorators/cache.py", line 62, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/urls/__init__.py", line 175, in wrapper
    return view_func(request, *args, **kwargs)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/wagtail/admin/auth.py", line 182, in decorated_view
    response = view_func(request, *args, **kwargs)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 103, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/wagtail_localize/views/submit_translations.py", line 174, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 142, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/wagtail_localize/views/submit_translations.py", line 118, in post
    return self.form_valid(form)
  File "/usr/local/Cellar/python@3.8/3.8.13_2/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/wagtail_localize/views/submit_translations.py", line 150, in form_valid
    single_translated_object = self.object.get_translation(
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/wagtail/models/i18n.py", line 186, in get_translation
    return self.get_translations(inclusive=True).get(locale_id=pk(locale))
  File "/Users/patrickdiede/Projekte/website/venv/lib/python3.8/site-packages/django/db/models/query.py", line 650, in get
    raise self.model.DoesNotExist(
home.models.snippet_models.Navbar.DoesNotExist: Navbar matching query does not exist.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant