diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt index d76d61f0b32..326bca4d18b 100644 --- a/docs/ref/contrib/admin/index.txt +++ b/docs/ref/contrib/admin/index.txt @@ -1364,6 +1364,8 @@ Finally, register your ``Person`` and ``Group`` models with the admin site:: Now your admin site is set up to edit ``Membership`` objects inline from either the ``Person`` or the ``Group`` detail pages. +.. _using-generic-relations-as-an-inline: + Using generic relations as an inline ------------------------------------ @@ -1380,9 +1382,12 @@ you have the following models:: name = models.CharField(max_length=100) If you want to allow editing and creating ``Image`` instance on the ``Product`` -add/change views you can simply use ``GenericInlineModelAdmin`` provided by -``django.contrib.contenttypes.generic``. In your ``admin.py`` for this -example app:: +add/change views you can use ``GenericTabularInline`` or +``GenericStackedInline`` (both subclasses of ``GenericInlineModelAdmin``) +provided by ``django.contrib.contenttypes.generic``, they implement tabular and +stacked visual layouts for the forms representing the inline objects +respectively just like their non-generic counterparts and behave just like any +other inline. In your ``admin.py`` for this example app:: from django.contrib import admin from django.contrib.contenttypes import generic @@ -1399,10 +1404,8 @@ example app:: admin.site.register(Product, ProductAdmin) -``django.contrib.contenttypes.generic`` provides both a ``GenericTabularInline`` -and ``GenericStackedInline`` and behave just like any other inline. See the -:doc:`contenttypes documentation ` for more specific -information. +See the :doc:`contenttypes documentation ` for more +specific information. Overriding Admin Templates ========================== diff --git a/docs/ref/contrib/contenttypes.txt b/docs/ref/contrib/contenttypes.txt index 4a2e213ffb0..fb633e91ae6 100644 --- a/docs/ref/contrib/contenttypes.txt +++ b/docs/ref/contrib/contenttypes.txt @@ -369,12 +369,15 @@ relations, you'll need to calculate them without using the aggregation API. Generic relations in forms and admin ------------------------------------ -:mod:`django.contrib.contenttypes.generic` provides both a -:class:`~django.contrib.contenttypes.generic.GenericInlineFormSet` -and :class:`~django.contrib.contenttypes.generic.GenericInlineModelAdmin`. +:mod:`django.contrib.contenttypes.generic` provides +:class:`~django.contrib.contenttypes.generic.GenericInlineFormSet`, +:class:`~django.contrib.contenttypes.generic.GenericTabularInline` +and :class:`~django.contrib.contenttypes.generic.GenericStackedInline` +(the last two 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 -:doc:`admin ` documentation for more information. +:ref:`admin ` documentation for more +information. .. class:: generic.GenericInlineModelAdmin