2012-06-28 17 views
95

Tengo que estas casillas en forma:Crear queryset vacío por defecto en los campos del formulario de Django

city = forms.ModelChoiceField(label="city", queryset=MyCity.objects.all()) 
district = forms.ModelChoiceField(label="district", queryset=MyDistrict.objects.all()) 
area = forms.ModelChoiceField(label="area", queryset=MyArea.objects.all()) 

distrito proviene de clic sobre la ciudad y el área proviene de clic en el área. Con queryset=MyDistrict.objects.all() y queryset=MyArea.objects.all(), la forma será muy pesada. ¿Cómo puedo hacer que los conjuntos de consulta estén vacíos de forma predeterminada?

Gracias de antemano

Respuesta

246

Usted puede tener un conjunto de consultas vacío al hacer esto:

MyModel.objects.none() 

Aunque no sé cómo se va a utilizar esa forma, se puede poner eso como su campo de queryset con el fin de obtener lo que necesita ...

puede encontrar más información here

+2

en el caso de usar que sus cambios de QuerySet en su vista basan en parámetros de URL. Luego, en su vista, establece el conjunto de preguntas correcto de la siguiente manera: edit_form.fields ["asset"]. Queryset = Asset.objects.filter (location_id = location_id) – radtek

Cuestiones relacionadas