diff -r c652d05460a8 django/contrib/admin/media/js/admin/RelatedObjectLookups.js
--- a/django/contrib/admin/media/js/admin/RelatedObjectLookups.js	Wed Feb 04 00:13:02 2009 +0100
+++ b/django/contrib/admin/media/js/admin/RelatedObjectLookups.js	Wed Feb 04 19:06:02 2009 +0900
@@ -80,6 +80,29 @@
             o.selected = true;
         } else if (elem.nodeName == 'INPUT') {
             elem.value = newId;
+        } else if (elem.className == 'radiolist') {
+    	    var cnt = elem.getElementsByTagName('li').length;
+	    var idName = elem.id+'_'+cnt;
+    	    var newLi = document.createElement('li');
+    	    var newLabel = document.createElement('label');
+    	    var newText = document.createTextNode(' '+newRepr);
+    	    try {
+    		// IE doesn't support settings name and type by setAttribute
+		var newInput = document.createElement('<input type=\'radio\' name=\''+name.slice(3)+'\' checked=\'checked\' />');
+	    } catch (err) {
+		var newInput = document.createElement('input');
+	    }
+    	    newLabel.setAttribute('for', idName);
+    	    newInput.setAttribute('id', idName);
+    	    newInput.setAttribute('class', 'radiolist');
+    	    newInput.setAttribute('type', 'radio');
+    	    newInput.setAttribute('name', name.slice(3));
+    	    newInput.setAttribute('value', newId);
+    	    newInput.setAttribute('checked', 'checked');
+    	    newLabel.appendChild(newInput);
+    	    newLabel.appendChild(newText);
+    	    newLi.appendChild(newLabel);
+    	    elem.appendChild(newLi);
         }
     } else {
         var toId = name + "_to";
