2011-08-02 7 views
0

사용자가 원하는만큼 많은 레코드를 하나의 양식으로 만들 수 있기를 원합니다.Django는 한 번에 여러 레코드를 만듭니다.

예를 들어, 레코드에 필요한 데이터 입력이 있고 라인 끝에는 새로운 입력 행이 표시되는 "+"버튼이 있습니다. 줄 수에는 제한이 없어야하며 사용자가 단일 제출 단추를 클릭하면 모든 레코드가 삽입됩니다.

: 나는 새 라인을 동적으로 표시하는 방법을 모르지만, jquery를 사용해야한다고 생각하지만, 나는 초보자입니다 :) 그리고 나는 어떻게 할 수 있는지 모르겠습니다. 동적으로 추가 된 모든 행을 반복합니다.

누군가가 예제 나 무언가를 가리킬 수 있다면, 나는 많은 머리카락을 당겨 두지 않을 것입니다!

는 편집 :이 blog post에 따라

나는 그렇게 할 수 있었다. 마지막 문제는 한 번에 여러 레코드를 삽입하려고하면 마지막 레코드를 유지하지만 이전 레코드는 비어있는 것으로 간주됩니다. 그것은 필자에게 필드가 필요하다는 것을 알려주고, 필드를 채우고 저장을 클릭 한 다음에 만 알맞게 저장합니다.

어쩌면 나는 이것을 위해 새로운 질문을 할 것이다! 여기

답변

1

시작 : https://docs.djangoproject.com/en/1.3/topics/forms/modelforms/#model-formsets

나는 나는 또한 작업 할 수

에 대한 jQuery를 사용할 수 있다고 가정합니다.

그리고 어떻게 동적으로 추가 된 모든 줄을 반복 할 수 있는지 알 수 없습니다.

request.POST 개체에 양식의 모든 입력란 (모든 항목)이 표시됩니다. formset을 사용하는 경우 양식의 clean()save() 메소드로 주로 처리됩니다.

+0

좋아, 최대한 빨리 시도하겠습니다. formset에 동적으로 폼을 추가하는 것이 쉬운 지 알고 있습니까? – Johanna

+0

그래서 formset을 사용하여 여러 줄을 표시 할 수 있습니다. 내가 이해하지 못하는 것은 새로운 레코드를 저장하기 위해 각 행을 반복하는 방법입니다. 내 모델에서 상속받지 않는 정규 formset을 사용하고 있습니다. 올바르게 이해한다면 조금 다릅니다. – Johanna