[django] 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())
지역은 도시를 클릭하면오고 지역은 지역을 클릭하면옵니다. 로 queryset=MyDistrict.objects.all()
와 queryset=MyArea.objects.all()
형태가 매우 무거운 것입니다. 쿼리 셋을 기본적으로 비우려면 어떻게해야합니까?
답변
다음을 수행하여 빈 쿼리 집합을 가질 수 있습니다.
MyModel.objects.none()
이 양식을 어떻게 사용할지 모르겠지만 필요한 것을 얻기 위해 필드의 쿼리 세트로 넣을 수 있습니다 …
답변
@radtek의 의견 은 비슷한 시나리오에서 유용하지만 허용되는 답변과 다른 접근 방식으로 대답해야합니다.
조회수가 URL의 뷰에서 변경되는 경우
내가 사용한 것처럼 예제로 답변을 확장하고 있습니다.
def my_view(request):
...
form = YourForm(initial={'field1':value1, 'field2':value2})
form.fields['field3'].queryset = YourModel.objects.filter('foo'=bar)