inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

Form Validation

하나의 view에 form 여러개 다루는법이 궁금합니다

630

이종도

작성한 질문수 2

0

먼저 강의내용과 직접적인 관련이 있는 질문이 아닌점 죄송합니다. 검색을 많이 해봤는데 아직 모르겠어서 여기에 질문을 올려봅니다.

하나의 view에 여러개의 form을 사용하여 한번에 submit을 하여 여러 모델객체를 save 해야하는데 어떤식으로 구현해야하는지 감이 오지않습니다.

아래 이미지와 같이 admin 의 tabularinline 같은 화면을 직접 구현하는 경우 form을 어떻게 사용하는지 궁금합니다.

 

1. form을 두개이상 사용하면 한번에 submit 처리를 어떻게하나요?

 

2. 한번에 처리가 된다면 view에서 어떻게 구분해서 받나요

 

3. (현재하고있는 방법)form을 사용하지 않고 화면을 직접그려서 POST로 전체 데이터를 넘기는데 각 데이터는 request.POST['key'] 로 값을 꺼내서 각각 모델에 세팅한 후 save할 수 밖에없나요

model을 구분해서 알아서 세팅되게 할 수 없나요?

(스프링 컨트롤러 인자값으로 모델객체 쓰는것 같이 일일이 get해서 모델에 set하지 않는 방법)

 

react django docker python

답변 1

1

이진석

안녕하세요.

tabular/stacked inline은 내부적으로 formsets API를 활용하여 구현이 되었습니다.

관련 공식문서 : https://docs.djangoproject.com/ko/4.0/topics/forms/formsets/

formsets API에는 formset_factory, modelformset_factory, 그리고 inlineformset_factory이 있고, admin에서 위의 tabular inline은 inlineformset_factory를 활용하여 개발이 된 기능입니다.

tabular inline은 admin 내에서 구현된 기능이기에 inlineformset_factory를 활용한다고 해서, 한 번에 동일한 화면/동작을 구현할 수는 없습니다만, 다수 extra form 이 출력되는 형태는 활용 만으로 구현이 가능합니다.

그리고 ModelForm 그리고 model formset factory를 활용하실 경우, request.POST 값을 직접 핸들링하지 않으시고도 관련 모델 Rows에 값을 반영하실 수 있습니다.

화이팅입니다. :-)

0

이종도

정말 감사합니다╰(*°▽°*)╯

안녕하세요.

0

62

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

285

1

useEffect 훅에서 else 유무에 따른 결과

0

222

1

useAxios 훅의 dependency array 설정

0

254

1

useEffect에서 변수 업데이트 관련 질문

0

391

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

277

1

bootstrap4

0

481

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

374

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

579

3

useState는 필수일까요?

0

272

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

611

4

Django allauth를 사용한 소셜 로그인 시 에러

0

660

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

569

2

useLocalStorage() 함수 사용여부

0

238

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

454

1

리듀서의 의미 재확인

0

439

1

simple-jwt Refresh Token 사용 노하우

0

908

2

docker compose 를 통한 배포 관련 오류 문의

0

687

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

373

1

is_like_user

0

238

1

related_name 오류

0

278

1

re_path 오류

0

266

1

re_path url

0

255

1

No post matches the given query

0

671

2