Index: contrib/admin/options.py
===================================================================
--- contrib/admin/options.py	(revision 17377)
+++ contrib/admin/options.py	(working copy)
@@ -78,7 +78,7 @@
         overrides.update(self.formfield_overrides)
         self.formfield_overrides = overrides
 
-    def formfield_for_dbfield(self, db_field, **kwargs):
+    def formfield_for_dbfield(self, db_field, can_add_related=True, **kwargs):
         """
         Hook for specifying the form Field instance for a given database Field
         instance.
@@ -111,7 +111,8 @@
             # extra HTML -- the "add other" interface -- to the end of the
             # rendered output. formfield can be None if it came from a
             # OneToOneField with parent_link=True or a M2M intermediary.
-            if formfield and db_field.name not in self.raw_id_fields:
+            if (can_add_related and formfield and
+                db_field.name not in self.raw_id_fields):
                 related_modeladmin = self.admin_site._registry.get(
                                                             db_field.rel.to)
                 can_add_related = bool(related_modeladmin and
