Index: django/db/models/fields/related.py
===================================================================
--- django/db/models/fields/related.py	(revision 4995)
+++ django/db/models/fields/related.py	(working copy)
@@ -553,7 +553,11 @@
         setattr(cls, related.get_accessor_name(), ForeignRelatedObjectsDescriptor(related))
 
     def formfield(self, **kwargs):
-        defaults = {'queryset': self.rel.to._default_manager.all(), 'required': not self.blank, 'label': capfirst(self.verbose_name), 'help_text': self.help_text}
+        defaults = {'required': not self.blank, 'label': capfirst(self.verbose_name), 'help_text': self.help_text}
+	if hasattr(self.rel.limit_choices_to, 'get_sql'):
+             defaults['queryset']=self.rel.to._default_manager.filter(self.rel.limit_choices_to)
+	else:
+             defaults['queryset']=self.rel.to._default_manager.filter(**self.rel.limit_choices_to)
         defaults.update(kwargs)
         return forms.ModelChoiceField(**defaults)
 
