2013-10-04 2 views
0

나는 양식을 만들고 그것을 동적으로 미리 채우려 고 시도하고있다.장고 2 드롭 다운, manytomany?

예 : 사용자가 '프론트 엔드', '프론트 엔드'를 선택한 경우에는 css, html, javascript를 사용하여 관련 언어를 선택할 수있는 곳 (확인란, 다중 선택 항목을 통해) 역할.

충분한 모델을 만들 수 없다고 생각합니다. 또한이 방법은이 데이터를 모두 생성하는 방법과 사용자가 사용할 수 있도록 다시 표시하는 방법 두 가지가 필요하다고 생각합니다.

#models.py 

TITLE_CHOICES = (('Select', 'Select'), 
    ('Front End', 'Front End'), 
    ('Back End', 'Back End'), 
    ('Mobile', 'Mobile'), 
    ('Other', 'Other') 
    ) 


class Role(models.Model): 
    profiletitle = models.CharField(max_length=25, null=True, choices=TITLE_CHOICES, default='Select') 

    def __unicode__(self): 
     return self.profiletitle 

제 문제는 제 형태입니다. 프로필 "언어"와 관련된 두 번째 드롭 다운이 필요합니다. 프로필 제목 선택을 언어와 관련시키기 위해 manytomanyfield를 사용하는 방법을 잘 모르겠습니다.

언어 드롭 다운/체크 상자는 선택한 선택된 프로필 제목에 관련 언어 만 표시해야합니다.

읽기/도움 주셔서 감사합니다.

추신. 장고와 자바 스크립트를 사용하지 않으려 고 노력 중이며 App Engine에서 작업하고 있습니다. (조인하지 않음)

답변

1

JS없이 Django에서이 작업을 수행하려는 경우 양식을 제출하게해야합니다. 그리고 두 번째 폼을로드하십시오. 에 관계없이 클래스를 기반으로 조회 또는 기능 뷰하지만를 사용하는 경우

잘 모르겠어요, 로직은 다음과 같아야합니다

  1. 양식 1 : 사용자 선택의 역할 (즉, 프런트 엔드, 백 엔드 등을 가지고 , ..) and press submit (양식 게시)
  2. 장고보기에서이 양식을 처리 할 때 선택된 선택 사항 (프론트 엔드, 백엔드 등)을 가져 와서 해당 언어에 대한 쿼리를 수행하고 해당 쿼리 세트를 사용하십시오/choices를 언어 입력 양식의 선택 사항으로 사용하고보기를이 양식 (양식 2)으로 재 지정하십시오.

난 당신이 자바 스크립트를 원하지 않는 이유를 알고하지 않습니다하지만 당신은 동적 양식에 this link (거기 및 많은 다른 사람)

참고 볼 수 있습니다 : 나는 내가 할 수있는 모든 코드가 표시되지 않기 때문에 이 방향을 취할 것을 제안합니다. 나는 당신에게 감금을 해준 방식대로 할 것입니다.