Index: django/newforms/models.py
===================================================================
--- django/newforms/models.py	(revision 6200)
+++ django/newforms/models.py	(working copy)
@@ -141,7 +141,7 @@
     # actually use any of ChoiceField's implementation.
     def __init__(self, queryset, empty_label=u"---------", cache_choices=False,
             required=True, widget=Select, label=None, initial=None, help_text=None):
-        self.queryset = queryset
+        self._queryset = queryset
         self.empty_label = empty_label
         self.cache_choices = cache_choices
         # Call Field instead of ChoiceField __init__() because we don't need
@@ -149,6 +149,16 @@
         Field.__init__(self, required, widget, label, initial, help_text)
         self.widget.choices = self.choices
 
+
+    def _get_queryset(self):
+        return self._queryset
+
+    def _set_queryset(self,queryset):
+        self._queryset = queryset
+        self.widget.choices = self.choices
+
+    queryset = property(_get_queryset,_set_queryset)
+
     def _get_choices(self):
         # If self._choices is set, then somebody must have manually set
         # the property self.choices. In this case, just return self._choices.
