Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Отображение формы с полями ModelChoiceField с 11тысячами записей. [RSS Feed]

#1 Окт. 1, 2012 23:14:19

Dr.Livsi
От:
Зарегистрирован: 2010-02-15
Сообщения: 192
Репутация: +  3  -
Профиль   Отправить e-mail  

Отображение формы с полями ModelChoiceField с 11тысячами записей.

В проекте есть форма:
class FormA(forms.Form):
name_cat=forms.ModelChoiceField(queryset=Catalog.objects.all(), empty_label=None)


проблема в том, что модель Catalog содержит более 10 тысяч наименований.
Вопрос: как используя инструменты django, передать в страницу только десяток-другой наименований, выбранных по определенному динамическому фильтру? В идеале что бы проверка при этом шла по всем объектам модели Catalog.



Офлайн

#2 Окт. 2, 2012 05:36:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Отображение формы с полями ModelChoiceField с 11тысячами записей.

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)
    



Отредактировано FishHook (Окт. 2, 2012 05:37:24)

Офлайн

#3 Окт. 2, 2012 10:44:41

Dr.Livsi
От:
Зарегистрирован: 2010-02-15
Сообщения: 192
Репутация: +  3  -
Профиль   Отправить e-mail  

Отображение формы с полями ModelChoiceField с 11тысячами записей.

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)
    

Большое спасибо! Помогло.



Офлайн

  • Начало
  • » Django
  • » Отображение формы с полями ModelChoiceField с 11тысячами записей.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version