MCPcopy
hub / github.com/django/django / get_context

Method get_context

django/contrib/admin/widgets.py:164–196  ·  view source on GitHub ↗
(self, name, value, attrs)

Source from the content-addressed store, hash-verified

162 super().__init__(attrs)
163
164 def get_context(self, name, value, attrs):
165 context = super().get_context(name, value, attrs)
166 rel_to = self.rel.model
167 if self.admin_site.is_registered(rel_to):
168 # The related object is registered with the same AdminSite
169 related_url = reverse(
170 "admin:%s_%s_changelist"
171 % (
172 rel_to._meta.app_label,
173 rel_to._meta.model_name,
174 ),
175 current_app=self.admin_site.name,
176 )
177
178 params = self.url_parameters()
179 if params:
180 related_url += "?" + urlencode(params)
181 context["related_url"] = related_url
182 context["link_title"] = _("Lookup")
183 # The JavaScript code looks for this class.
184 css_class = "vForeignKeyRawIdAdminField"
185 if isinstance(self.rel.get_related_field(), UUIDField):
186 css_class += " vUUIDField"
187 context["widget"]["attrs"].setdefault("class", css_class)
188 else:
189 context["related_url"] = None
190 if context["widget"]["value"]:
191 context["link_label"], context["link_url"] = self.label_and_url_for_value(
192 value
193 )
194 else:
195 context["link_label"] = None
196 return context
197
198 def base_url_parameters(self):
199 limit_choices_to = self.rel.limit_choices_to

Callers

nothing calls this directly

Calls 8

url_parametersMethod · 0.95
reverseFunction · 0.90
urlencodeFunction · 0.90
is_registeredMethod · 0.80
get_contextMethod · 0.45
get_related_fieldMethod · 0.45
setdefaultMethod · 0.45

Tested by

no test coverage detected