Создать набор форм Django без нескольких запросов - PullRequest
5 голосов
/ 07 мая 2010

Мне нужно отобразить несколько форм (до 10) модели на странице. Это код, который я использую для достижения этой цели.

TheFormSet = formset_factory(SomeForm, extra=10)
...
formset = TheFormSet(prefix='party')

return render_to_response('template.html', {
        'formset' : formset,
})

Проблема в том, что мне кажется, что Django запрашивает базу данных для каждой из форм в наборе форм, даже если отображаемые в них данные одинаковы.

Так работает Formsets или я делаю что-то не так? Есть ли способ обойти это внутри django или мне придется использовать JavaScript для обхода проблемы?

Ответы [ 3 ]

1 голос
/ 07 мая 2010

Если все запросы идентичны, возможно, стоит взглянуть на johnny-cache и посмотреть, улучшит ли это производительность.

1 голос
/ 07 мая 2010

Что произойдет, если вы используете modelformset_factory вместо formset_factory?Это помогает?

0 голосов
/ 07 мая 2010

Вы уверены, что django запрашивает базу данных?Попробуйте использовать Django Debug Toolbar , чтобы увидеть, какие запросы фактически выполняет django.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...