2012-06-28 30 views
95

Tôi có lĩnh vực này ở dạng:Tạo queryset trống theo mặc định trong các lĩnh vực hình thức 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()) 

huyện đến từ nhấp chuột vào thành phố và khu vực xuất phát từ nhấp chuột vào khu vực. Với hình thức queryset=MyDistrict.objects.all()queryset=MyArea.objects.all() sẽ rất nặng. Làm thế nào tôi có thể làm cho queryset trống theo mặc định?

Cảm ơn trước

Trả lời

246

Bạn có thể có một queryset trống bằng cách làm này:

MyModel.objects.none() 

Mặc dù tôi không biết làm thế nào thì bạn sẽ sử dụng hình thức đó, bạn có thể đặt mà như lĩnh vực của bạn querySet để có được những gì bạn cần ...

bạn có thể tìm thêm thông tin here

+2

trong trường hợp sử dụng mà thay đổi queryset của bạn theo quan điểm của bạn dựa trên các thông số url. Sau đó, trong chế độ xem của bạn, bạn đặt đúng queryset như sau: edit_form.fields ["asset"]. Queryset = Asset.objects.filter (location_id = location_id) – radtek

Các vấn đề liên quan