Django : JavaScript가없는 인라인 Formset 행을 추가합니다
-
20-09-2019 - |
문제
이 게시물은 다음과 관련이 있습니다.Django Admin에서 동적으로 인라인에 행을 추가하십시오
JavaScript를 사용하지 않고 인라인 폼 세트를 추가하는 방법이 있습니까? 분명히, 페이지가 관련된 페이지가있을 것입니다.
양식에 'Add'라는 버튼이 있으면 ...
나는 이것처럼 할 수 있다고 생각했다.
if request.method=='POST':
if 'add' in request.POST:
PrimaryFunctionFormSet = inlineformset_factory(Position,Function,extra=1)
prims = PrimaryFunctionFormSet(request.POST)
매번 1을 추가 할 것이라고 생각한 다음 포스트 데이터로 양식을 채 웁니다. 그러나 추가 = 1은 게시물 데이터에 1을 추가하지 않는 것 같습니다.
해결책
알았어요.
때로는 가장 간단한 솔루션입니다. 요청 데이터의 사본 만 작성하고 총 형식을 수정하십시오.
예를 들어..
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')
그런 다음 형태를 정상적으로 뱉어냅니다. 데이터를 유지하고 인라인 편집기를 추가합니다.
제휴하지 않습니다 StackOverflow