MCPcopy
hub / github.com/django/django / response_change

Method response_change

django/contrib/admin/options.py:1682–1774  ·  view source on GitHub ↗

Determine the HttpResponse for the change_view stage.

(self, request, obj)

Source from the content-addressed store, hash-verified

1680 return self.response_post_save_add(request, obj)
1681
1682 def response_change(self, request, obj):
1683 """
1684 Determine the HttpResponse for the change_view stage.
1685 """
1686
1687 if IS_POPUP_VAR in request.POST:
1688 opts = obj._meta
1689 to_field = request.POST.get(TO_FIELD_VAR)
1690 attr = str(to_field) if to_field else opts.pk.attname
1691 value = request.resolver_match.kwargs["object_id"]
1692 new_value = obj.serializable_value(attr)
1693 popup_response_data = json.dumps(
1694 {
1695 "action": "change",
1696 "value": str(value),
1697 "obj": str(obj),
1698 "new_value": str(new_value),
1699 }
1700 )
1701 return TemplateResponse(
1702 request,
1703 self.popup_response_template
1704 or [
1705 "admin/%s/%s/popup_response.html"
1706 % (opts.app_label, opts.model_name),
1707 "admin/%s/popup_response.html" % opts.app_label,
1708 "admin/popup_response.html",
1709 ],
1710 {
1711 "popup_response_data": popup_response_data,
1712 },
1713 )
1714
1715 opts = self.opts
1716 preserved_filters = self.get_preserved_filters(request)
1717 preserved_qsl = self._get_preserved_qsl(request, preserved_filters)
1718
1719 obj_display = display_for_value(str(obj), EMPTY_VALUE_STRING)
1720 msg_dict = {
1721 "name": opts.verbose_name,
1722 "obj": format_html(
1723 '<a href="{}">{}</a>', urlquote(request.path), obj_display
1724 ),
1725 }
1726 if "_continue" in request.POST:
1727 msg = format_html(
1728 _(
1729 "The {name} “{obj}” was changed successfully. You may edit it "
1730 "again below."
1731 ),
1732 **msg_dict,
1733 )
1734 self.message_user(request, msg, messages.SUCCESS)
1735 redirect_url = request.path
1736 redirect_url = add_preserved_filters(
1737 {
1738 "preserved_filters": preserved_filters,
1739 "preserved_qsl": preserved_qsl,

Callers 1

_changeform_viewMethod · 0.95

Calls 13

get_preserved_filtersMethod · 0.95
_get_preserved_qslMethod · 0.95
message_userMethod · 0.95
TemplateResponseClass · 0.90
display_for_valueFunction · 0.90
format_htmlFunction · 0.90
add_preserved_filtersFunction · 0.90
reverseFunction · 0.90
serializable_valueMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected