【问题标题】:Access django celery results in views访问 django celery 导致视图
【发布时间】:2018-11-16 04:41:53
【问题描述】:

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

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

【问题讨论】:

  • 在视图中访问 Celery 结果是一些你正在尝试做的事情,了解 celery 的概念,我建议在你视图中调用该代码并使用而不是 celery。

标签: django celery django-celery


【解决方案1】:

作为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 %}

【讨论】:

  • 最终使用您的答案让我得到模型上计算的@property tasks,过滤task_args = self.idthanx!
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 2018-02-28
  • 2017-10-02
  • 2020-12-18
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 2018-11-15
相关资源
最近更新 更多