Добавьте некоторые данные в extra_context в response_change

У меня есть некоторая модель:

from django.db import models

class Deviation(models.Model):
    name = models.CharField(max_length=100)

    def calc(self):
        # some calculation
        return 1

Затем я добавил кнопку, которая запускает метод calc (переопределенная форма изменения):

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

{% block submit_buttons_bottom %}
    {{ block.super }}
    <div class="submit-row">
            <input type="submit" value="Calculate" name="calc">
    </div>
    Calculation result: {{ result }}
{% endblock %}

Эта модель зарегистрирована в админке с обработкой calc кнопки submit (передавать результат в extra_context):

@admin.register(Deviation)
class DeviationAdmin(admin.ModelAdmin):
    change_form_template = 'admin/deviations_change_form.html'
    list_display = '__str__',

    def response_change(self, request, obj):
        if "calc" in request.POST:
            obj.save()
            result = obj.calc()
            return self.change_view(request, str(obj.id), form_url='', extra_context={'result': result})
        return super().response_change(request, obj)

Возникает проблема. Я не могу вывести представление изменения с результатом через extra_context.

Как передать extra_context для изменения представления?

Вернуться на верх