Добавьте некоторые данные в 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 для изменения представления?