MCPcopy
hub / github.com/django/django / formfield_for_foreignkey

Method formfield_for_foreignkey

django/contrib/admin/options.py:315–345  ·  view source on GitHub ↗

Get a form Field for a ForeignKey.

(self, db_field, request, **kwargs)

Source from the content-addressed store, hash-verified

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 """

Callers 1

formfield_for_dbfieldMethod · 0.95

Calls 6

get_field_querysetMethod · 0.95
AutocompleteSelectClass · 0.90
get_ul_classFunction · 0.85
getMethod · 0.45
formfieldMethod · 0.45

Tested by

no test coverage detected