2014-10-23 2 views
0

모델의 행을 통해 테이블로 순환하는 방법이 있습니까? 또한 특정 필드를 제외 할 수 있으면 매우 유용 할 것입니다.Django는 모델의 행을 반복하는 방법을 템플릿으로 처리합니다

model.py

class Questions(models.Model): 
    name = models.Charfield() 
    Question1 = models.Charfield() 
    Question2 = models.Charfield() 
    ect 

class Answers(models.Model): 
    question = models.ForeignKey(Questions, related_name='question') 
    qustion_no = models.IntegerField() 
    answer = models.Charfield() 

form.html : 나는 사용자가 하나 개의 모델에 물어 거기에 자신의 질문을 작성하여 작성하고 답변 예를 들어

의 모델 수있는 양식을 만드는 중이라서 시도가 사용하는

<table> 
    <tr> 
     <th>Question</th> 
     <th>Answers</th> 
    </tr> 
    {% for q in Questions %} 
     <tr> 
      <td>{{q}}</td> 
      <td>{{q.question}}</td 
     </tr> 
    {% endfor %} 
</table> 
+0

정말이 질문을 이해하지 못합니다. 물론'Question.objects.all()'을 반복하여 행을 반복 할 수 있습니다. 너는 실제로 무엇을 묻고있는거야? –

+0

질문지라고하는 페이지가 있습니다. Question.objects.all()을 사용하여 모든 설문지를 보여줍니다. 그런 다음 설문지를 클릭하면 설문지의 질문 옆에있는 설문지를 표로 볼 수 있습니다. 내가 그것을하는 방법을 아는 방법은 {{questions.question1}} 요법을 사용하고 있습니다. 하지만 그때 나는 대답을 통해 각 행마다 질문 1로 질문을 할 수 없다. –

+0

글쎄, 그것은 행을 반복하지 않고 열을 반복하고있다. 하지만 당신의 모델은 완전히 망가졌습니다. 개별 필드에 질문하는 이유는 무엇입니까? 귀하의 질문 모델은 * 하나 * 질문을 포함해야합니다. 관련이 없지만 related_name을 Answer에서 Question으로 "question"으로 설정하는 것은 의미가 없습니다. 그것은 "답변"이어야합니다. –

답변

1

나는 이런 식으로 검색 할 수 있다고 생각합니다.

<table> 
    <tr> 
    <th>Question</th> 
    <th>Answers</th> 
    </tr> 
    {% for q in Questions %} 
    <tr> 
    {% for a in q.question.all %} 
     <td>{{q}}</td> 
     <td>{{a.answer}}</td> 
    {% endfor %} 
    </tr> 
    {% endfor %} 
</table> 
+0

내가 너를 어떻게하려고하는지 너는 이해할 것 같아. TypeError at/questionnaires/get/2/ 'Questions'객체가 반복 가능하지 않습니다. –

+0

여기서 질문의 대상을 전달하므로 직접 {{% for q_object.question.all % } {{q_object}} {{a.answer}} {% endfor %}' –

0

django-tables2

꽤 FLE입니다 xible이며 쉽게 수정할 수 있습니다.

관련 문제