(self, name, value, attrs)
| 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 |
nothing calls this directly
no test coverage detected