Django: Добавление встроенные formset строки без JavaScript

Это сообщение касается этого: Добавьте, что строка к встраивает динамично в django администраторе

Существует ли путь к achive, добавляющему встроенный formsets, не используя JavaScript? Очевидно, было бы включенное обновление страницы.

Так, если форме назвали кнопку, 'добавляют'...

Я полагал, что мог сделать это как это:

if request.method=='POST':
  if 'add' in request.POST:
    PrimaryFunctionFormSet = inlineformset_factory(Position,Function,extra=1)
    prims = PrimaryFunctionFormSet(request.POST)

Который я думал, добавит 1 каждый раз, затем заполнит форму с данными сообщения. Однако кажется, что extra=1 не добавляет 1 к данным сообщения.

5
задан Community 23 May 2017 в 10:32
поделиться

1 ответ

Понятно.

Иногда это самое простое решение. Просто сделайте копию данных request.POST и измените TOTAL-FORMS.

например ..

if request.method=='POST':
  PrimaryFunctionFormSet = inlineformset_factory(Position,Function)
  if 'add' in request.POST:
    cp = request.POST.copy()
    cp['prim-TOTAL_FORMS'] = int(cp['prim-TOTAL_FORMS'])+ 1
    prims = PrimaryFunctionFormSet(cp,prefix='prim')

Тогда просто выплюните форму как обычно. Сохраняет ваши данные, добавляет встроенный редактор.

5
ответ дан 14 December 2019 в 19:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: