在视图中访问 django celery 结果

kge*_*geo 3 django celery django-celery

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

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

rud*_*dra 5

由于celery_results_taskresults 使用模型来存储结果,因此我们可以在视图中使用它们。你可以这样试试:

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
Run Code Online (Sandbox Code Playgroud)

在模板中:

{% for r in results %}
      {{r.task_name}}
      ...
{% endfor %}
Run Code Online (Sandbox Code Playgroud)