diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
index c1e05ed..34d283b 100644
--- a/docs/ref/contrib/admin/index.txt
+++ b/docs/ref/contrib/admin/index.txt
@@ -540,6 +540,15 @@ into a ``Input`` widget for either a ``ForeignKey`` or ``ManyToManyField``::
class ArticleAdmin(admin.ModelAdmin):
raw_id_fields = ("newspaper",)
+.. attribute:: ModelAdmin.readonly_fields
+
+By default any field Django's admin displays is shown as editable. Any fields
+in this option (which should be a ``list`` or ``tuple``) will be displayed as
+just showing the data they contain, without the ability to be edited. Note
+that fields in this option shouldn't be in the ``fields`` or ``exclude``
+options, they can however be in the ``fieldsets`` option to control where they
+appear.
+
.. attribute:: ModelAdmin.save_as
Set ``save_as`` to enable a "save as" feature on admin change forms.
@@ -744,6 +753,15 @@ model instance::
instance.save()
formset.save_m2m()
+.. method:: ModelAdmin.get_readonly_fields(self, request, obj=None)
+
+The ``get_readonly_fields`` method is given the ``HttpRequest`` and the
+``obj`` being edited (or ``None`` on a add form) and is expected to return a
+``list`` or ``tuple`` of field names that will be displayed as read-only, as
+described above in the ``ModelAdmin.readonly_fields`` section. Note that this
+method will be called several times during a given request, therefore if it
+performs and very expensive calculations it may be wise to cache them.
+
.. method:: ModelAdmin.get_urls(self)
.. versionadded:: 1.1