Найти - Пользователи
Полная версия: Отображение формы с полями ModelChoiceField с 11тысячами записей.
Начало » Django » Отображение формы с полями ModelChoiceField с 11тысячами записей.
1
Dr.Livsi
В проекте есть форма:
class FormA(forms.Form):
name_cat=forms.ModelChoiceField(queryset=Catalog.objects.all(), empty_label=None)


проблема в том, что модель Catalog содержит более 10 тысяч наименований.
Вопрос: как используя инструменты django, передать в страницу только десяток-другой наименований, выбранных по определенному динамическому фильтру? В идеале что бы проверка при этом шла по всем объектам модели Catalog.
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)
    
Dr.Livsi
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)
    

Большое спасибо! Помогло.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB