rq / django-rq

A simple app that provides django integration for RQ (Redis Queue)
MIT License
1.81k stars 282 forks source link

TypeError in job_detail.html with Python 12 #649

Closed vied12 closed 4 months ago

vied12 commented 4 months ago

Hello,

I'm getting this error when I try to load the detail view for a job. With Python 11 it works perfectly.

Thank you very much for your good work !

Traceback (most recent call last):
  File \"/usr/local/lib/python3.12/site-packages/asgiref/sync.py\", line 534, in thread_handler
    raise exc_info[1]
  File \"/usr/local/lib/python3.12/site-packages/django/core/handlers/exception.py\", line 42, in inner
    response = await get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/asgiref/sync.py\", line 534, in thread_handler
    raise exc_info[1]
  File \"/usr/local/lib/python3.12/site-packages/django/core/handlers/base.py\", line 253, in _get_response_async
    response = await wrapped_callback(
                   ^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/asgiref/sync.py\", line 479, in __call__
    ret: _R = await loop.run_in_executor(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/asgiref/current_thread_executor.py\", line 40, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/asgiref/sync.py\", line 538, in thread_handler
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/views/decorators/cache.py\", line 80, in _view_wrapper
    response = view_func(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/contrib/auth/decorators.py\", line 23, in _wrapper_view
    return view_func(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django_rq/views.py\", line 348, in job_detail
    return render(request, 'django_rq/job_detail.html', context_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/shortcuts.py\", line 25, in render
    content = loader.render_to_string(template_name, context, request, using=using)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/loader.py\", line 62, in render_to_string
    return template.render(context, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/backends/django.py\", line 61, in render
    return self.template.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 171, in render
    return self._render(context)
           ^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 163, in _render
    return self.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 1000, in render
    return SafeString(\"\".join([node.render_annotated(context) for node in self]))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 961, in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py\", line 159, in render
    return compiled_parent._render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 163, in _render
    return self.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 1000, in render
    return SafeString(\"\".join([node.render_annotated(context) for node in self]))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 961, in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py\", line 159, in render
    return compiled_parent._render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 163, in _render
    return self.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 1000, in render
    return SafeString(\"\".join([node.render_annotated(context) for node in self]))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 961, in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py\", line 159, in render
    return compiled_parent._render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 163, in _render
    return self.nodelist.render(context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 1000, in render
    return SafeString(\"\".join([node.render_annotated(context) for node in self]))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 961, in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/loader_tags.py\", line 65, in render
    result = block.nodelist.render(context)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 1000, in render
    return SafeString(\"\".join([node.render_annotated(context) for node in self]))
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 961, in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/defaulttags.py\", line 242, in render
    nodelist.append(node.render_annotated(context))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 961, in render_annotated
    return self.render(context)
           ^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 1059, in render
    output = self.filter_expression.resolve(context)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 710, in resolve
    obj = self.var.resolve(context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 842, in resolve
    value = self._resolve_lookup(context)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/usr/local/lib/python3.12/site-packages/django/template/base.py\", line 909, in _resolve_lookup
    current = current()
              ^^^^^^^^^
TypeError: EnumType.__call__() missing 1 required positional argument: 'value'", "taskName": null, "status_code": 500, "request": "<ASGIRequest: GET '/queues/queues/0/e15ca714-baac-4c4b-99b3-d5e8dd0714f6/'>"}
selwin commented 4 months ago

Mind opening a PR for this?

thomasjbradley commented 4 months ago

It seems like maybe this has already been fixed in the master branch. In the code for the v2.10.1 release there’s an output: Created at: {{ result.Type }} — but in the master branch that is not in the template.

https://github.com/rq/django-rq/blob/v2.10.1/django_rq/templates/django_rq/job_detail.html#L226

Maybe there just needs to be a patch version released? Thanks!

selwin commented 4 months ago

Released!