@@ -76,18 +76,15 @@ class ReferenceField(forms.ChoiceField):
76
76
Reference field for mongo forms. Inspired by
77
77
`django.forms.models.ModelChoiceField`.
78
78
"""
79
- def __init__ (self , queryset , empty_label = "---------" , * args , ** kwargs ):
79
+ def __init__ (self , document , empty_label = "---------" , * args , ** kwargs ):
80
80
forms .Field .__init__ (self , * args , ** kwargs )
81
81
self .empty_label = empty_label
82
- self .queryset = queryset
83
-
84
- def _get_queryset (self ):
85
- return self ._queryset .clone ()
86
-
87
- def _set_queryset (self , queryset ):
88
- self ._queryset = queryset
82
+ self ._document = document
89
83
self .widget .choices = self .choices
90
- queryset = property (_get_queryset , _set_queryset )
84
+
85
+ @property
86
+ def queryset (self ):
87
+ return self ._document .objects .clone ()
91
88
92
89
def prepare_value (self , value ):
93
90
if hasattr (value , '_meta' ):
@@ -128,7 +125,6 @@ def clean(self, value):
128
125
129
126
def __deepcopy__ (self , memo ):
130
127
result = super (forms .ChoiceField , self ).__deepcopy__ (memo )
131
- result .queryset = self .queryset # self.queryset calls clone()
132
128
result .empty_label = copy .deepcopy (self .empty_label )
133
129
return result
134
130
@@ -160,9 +156,9 @@ class DocumentMultipleChoiceField(ReferenceField):
160
156
'invalid_pk_value' : _ ('"%s" is not a valid value for a primary key.' )
161
157
}
162
158
163
- def __init__ (self , queryset , * args , ** kwargs ):
159
+ def __init__ (self , document , * args , ** kwargs ):
164
160
super (DocumentMultipleChoiceField , self ).__init__ (
165
- queryset , empty_label = None , * args , ** kwargs
161
+ document , empty_label = None , * args , ** kwargs
166
162
)
167
163
168
164
def clean (self , value ):
0 commit comments