Как мне запустить задачу Celery от Django admin? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть модель с именем Publication, и я хотел бы добавить кнопку к представлению списка в Django Admin, которая позволяла бы запускать задачу Celery.

admin.py:

from django.contrib import admin
from .models import Publication


class PublicationAdmin(admin.ModelAdmin):
    change_list_template = "variants/admin_publication_list.html"

    def update(self, request):
        # trigger task
        # redirect to admin list

admin.site.register(Publication, PublicationAdmin)

variants/admin_publication_list.html:

{% extends 'admin/change_list.html' %}

{% block object-tools %}
  <li>
    <a href="/admin/variants/publication/update/">
      Update
    </a>
  </li>
  {{ block.super }}
{% endblock %}

Однако, когда я нажимаю кнопку, я получаю только уведомление:

Публикация с идентификатором «update» не существует. Возможно, оно было удалено?

...