Get a form Field for a ForeignKey.
(self, db_field, request, **kwargs)
| 313 | return None |
| 314 | |
| 315 | def formfield_for_foreignkey(self, db_field, request, **kwargs): |
| 316 | """ |
| 317 | Get a form Field for a ForeignKey. |
| 318 | """ |
| 319 | db = kwargs.get("using") |
| 320 | |
| 321 | if "widget" not in kwargs: |
| 322 | if db_field.name in self.get_autocomplete_fields(request): |
| 323 | kwargs["widget"] = AutocompleteSelect( |
| 324 | db_field, self.admin_site, using=db |
| 325 | ) |
| 326 | elif db_field.name in self.raw_id_fields: |
| 327 | kwargs["widget"] = widgets.ForeignKeyRawIdWidget( |
| 328 | db_field.remote_field, self.admin_site, using=db |
| 329 | ) |
| 330 | elif db_field.name in self.radio_fields: |
| 331 | kwargs["widget"] = widgets.AdminRadioSelect( |
| 332 | attrs={ |
| 333 | "class": get_ul_class(self.radio_fields[db_field.name]), |
| 334 | } |
| 335 | ) |
| 336 | kwargs["empty_label"] = ( |
| 337 | kwargs.get("empty_label", _("None")) if db_field.blank else None |
| 338 | ) |
| 339 | |
| 340 | if "queryset" not in kwargs: |
| 341 | queryset = self.get_field_queryset(db, db_field, request) |
| 342 | if queryset is not None: |
| 343 | kwargs["queryset"] = queryset |
| 344 | |
| 345 | return db_field.formfield(**kwargs) |
| 346 | |
| 347 | def formfield_for_manytomany(self, db_field, request, **kwargs): |
| 348 | """ |
no test coverage detected