在视图中访问 django celery 结果

Access django celery results in views

我正在使用 django-celery-results 扩展并在数据库后端成功保存记录 table、celery_results_taskresults。我的任务与模型实例相关联,我希望能够在视图和最终模板中将它们列为每个实例的属性。我可以在管理界面中看到它们,但不知道如何在列表中访问它们。

我虽然想在有问题的模型上创建一个@属性,使用原始 sql,但是我看到的 sql 示例都引用了一个模型,如果有一个 celery_results_taskresults 模型,我找不到它。

因为 celery_results_taskresults use a model 存储结果,所以我们可以在视图中使用它们。你可以这样尝试:

from django_celery_results.models import TaskResult


class SomeTemplateView(TemplateView):

     def get_context_data(self, *args, **kwargs):
         context = super(SomeTemplateView, self).get_context_data(*args, **kwargs)    
         context['results'] = TaskResult.objects.all()
         return context

并且在模板中:

{% for r in results %}
      {{r.task_name}}
      ...
{% endfor %}