Dr.Livsi
Окт. 1, 2012 23:14:19
В проекте есть форма:
class FormA(forms.Form):
name_cat=forms.ModelChoiceField(queryset=Catalog.objects.all(), empty_label=None)
…
проблема в том, что модель Catalog содержит более 10 тысяч наименований.
Вопрос: как используя инструменты django, передать в страницу только десяток-другой наименований, выбранных по определенному динамическому фильтру? В идеале что бы проверка при этом шла по всем объектам модели Catalog.
FishHook
Окт. 2, 2012 05:36:20
form = FormA()
form.fields['name_cat'].queryset=Catalog.objects.filter(.......)
Ну или переопредели __init__ у формы
class FormA(forms.Form):
def __init__(self, *args, **kw):
qs=kw.pop['qs']
super(ChildLegalState, self).__init__(*args, **kw)
self.fields['name_cat'].queryset=....
#
#
#
#
def any_view(request):
query=Catalog.objects.filter(.......)
form=FormA(qs=query)
Dr.Livsi
Окт. 2, 2012 10:44:41
FishHook
form = FormA()
form.fields['name_cat'].queryset=Catalog.objects.filter(.......)
Ну или переопредели __init__ у формы
class FormA(forms.Form):
def __init__(self, *args, **kw):
qs=kw.pop['qs']
super(ChildLegalState, self).__init__(*args, **kw)
self.fields['name_cat'].queryset=....
#
#
#
#
def any_view(request):
query=Catalog.objects.filter(.......)
form=FormA(qs=query)
Большое спасибо! Помогло.