diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt index b273255c71..ee04d77d32 100644 --- a/docs/ref/contrib/admin/index.txt +++ b/docs/ref/contrib/admin/index.txt @@ -1520,8 +1520,8 @@ The ``InlineModelAdmin`` class adds: .. attribute:: InlineModelAdmin.form The value for ``form`` defaults to ``ModelForm``. This is what is passed - through to ``inlineformset_factory`` when creating the formset for this - inline. + through to :func:`~django.forms.models.inlineformset_factory` when + creating the formset for this inline. .. attribute:: InlineModelAdmin.extra diff --git a/docs/ref/forms/models.txt b/docs/ref/forms/models.txt index 1f4a0d0c3d..c388f402e6 100644 --- a/docs/ref/forms/models.txt +++ b/docs/ref/forms/models.txt @@ -5,7 +5,7 @@ Model Form Functions .. module:: django.forms.models :synopsis: Django's functions for building model forms and formsets. -.. method:: modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None) +.. function:: modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None) Returns a :class:`~django.forms.ModelForm` class for the given ``model``. You can optionally pass a ``form`` argument to use as a starting point for @@ -25,16 +25,27 @@ Model Form Functions See :ref:`modelforms-factory` for example usage. -.. method:: modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None) +.. function:: modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None) Returns a ``FormSet`` class for the given ``model`` class. Arguments ``model``, ``form``, ``fields``, ``exclude``, and ``formfield_callback`` are all passed through to - :meth:`~django.forms.models.modelform_factory`. + :func:`~django.forms.models.modelform_factory`. Arguments ``formset``, ``extra``, ``max_num``, ``can_order``, and ``can_delete`` are passed through to ``formset_factory``. See :ref:`formsets` for details. See :ref:`model-formsets` for example usage. + +.. function:: inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None) + + Returns an ``InlineFormSet`` using :func:`modelformset_factory` with + defaults of ``formset=BaseInlineFormSet``, ``can_delete=True``, and + ``extra=3``. + + If your model has more than one :class:`~django.db.models.ForeignKey` to + the ``parent_model``, you must specify a ``fk_name``. + + See :ref:`inline-formsets` for example usage. diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt index 9a33d68cf7..c091e715bb 100644 --- a/docs/topics/forms/modelforms.txt +++ b/docs/topics/forms/modelforms.txt @@ -550,7 +550,7 @@ ModelForm factory function -------------------------- You can create forms from a given model using the standalone function -:class:`~django.forms.models.modelform_factory`, instead of using a class +:func:`~django.forms.models.modelform_factory`, instead of using a class definition. This may be more convenient if you do not have many customizations to make:: @@ -857,6 +857,8 @@ primary key that isn't called ``id``, make sure it gets rendered.) .. highlight:: python +.. _inline-formsets: + Inline formsets =============== @@ -881,7 +883,7 @@ a particular author, you could do this:: .. note:: - ``inlineformset_factory`` uses + :func:`~django.forms.models.inlineformset_factory` uses :func:`~django.forms.models.modelformset_factory` and marks ``can_delete=True``. @@ -901,7 +903,8 @@ the following model:: to_friend = models.ForeignKey(Friend) length_in_months = models.IntegerField() -To resolve this, you can use ``fk_name`` to ``inlineformset_factory``:: +To resolve this, you can use ``fk_name`` to +:func:`~django.forms.models.inlineformset_factory`:: >>> FriendshipFormSet = inlineformset_factory(Friend, Friendship, fk_name="from_friend")