diff --git a/django/contrib/contenttypes/generic.py b/django/contrib/contenttypes/generic.py index be7a5e5a225..cda4d46fe85 100644 --- a/django/contrib/contenttypes/generic.py +++ b/django/contrib/contenttypes/generic.py @@ -429,7 +429,7 @@ def generic_inlineformset_factory(model, form=ModelForm, max_num=None, formfield_callback=None): """ - Returns an ``GenericInlineFormSet`` for the given kwargs. + Returns a ``GenericInlineFormSet`` for the given kwargs. You must provide ``ct_field`` and ``object_id`` if they different from the defaults ``content_type`` and ``object_id`` respectively. diff --git a/docs/ref/contrib/contenttypes.txt b/docs/ref/contrib/contenttypes.txt index e9cd5e7bc00..282e350a642 100644 --- a/docs/ref/contrib/contenttypes.txt +++ b/docs/ref/contrib/contenttypes.txt @@ -452,14 +452,18 @@ need to calculate them without using the aggregation API. Generic relations in forms and admin ------------------------------------ -The :mod:`django.contrib.contenttypes.generic` module provides -``BaseGenericInlineFormSet``, -:class:`~django.contrib.contenttypes.generic.GenericTabularInline` -and :class:`~django.contrib.contenttypes.generic.GenericStackedInline` -(the last two are subclasses of -:class:`~django.contrib.contenttypes.generic.GenericInlineModelAdmin`). -This enables the use of generic relations in forms and the admin. See the -:doc:`model formset ` and +The :mod:`django.contrib.contenttypes.generic` module provides: + +* ``BaseGenericInlineFormSet`` +* :class:`~django.contrib.contenttypes.generic.GenericTabularInline` + and :class:`~django.contrib.contenttypes.generic.GenericStackedInline` + (subclasses of + :class:`~django.contrib.contenttypes.generic.GenericInlineModelAdmin`) +* A formset factory, :func:`generic_inlineformset_factory`, for use with + :class:`GenericForeignKey` + +These classes and functions enable the use of generic relations in forms +and the admin. See the :doc:`model formset ` and :ref:`admin ` documentation for more information. @@ -486,3 +490,14 @@ information. Subclasses of :class:`GenericInlineModelAdmin` with stacked and tabular layouts, respectively. + +.. function:: generic_inlineformset_factory(model, form=ModelForm, formset=BaseGenericInlineFormSet, ct_field="content_type", fk_field="object_id", fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None) + + Returns a ``GenericInlineFormSet`` using + :func:`~django.forms.models.modelformset_factory`. + + You must provide ``ct_field`` and ``object_id`` if they different from the + defaults, ``content_type`` and ``object_id`` respectively. Other parameters + are similar to those documented in + :func:`~django.forms.models.modelformset_factory` and + :func:`~django.forms.models.inlineformset_factory`.