2016-02-23 60 views
0

我希望我能在我的模板回答我的問題的形式檢索(如果有的話)如何在模板從數據庫恢復值在Django

我的models.py

class Page(models.Model): 
    title = models.CharField(max_length=30) 


    def __str__(self): 
     return self.title 

class Question(models.Model): 
    label = models.CharField(max_length=30) 
    page = models.ManyToManyField(Page) 

    def __str__(self): 
      return self.label 

class Reply(models.Model): 
    question = models.ForeignKey(Question) 
    user = models.ForeignKey(Personne) 
    answer = models.CharField(max_length=30) 
    creationDate = models.DateTimeField(default=django.utils.timezone.now) 

    def __str__(self): 
     return str(self.answer) 

自從我的問題的答案以來,如何訪問我的模型?

我的模板

<form method="POST" action=""> 
    {{ formset.management_form }} {% csrf_token %} 
    <table> 

     <!-- <br>{{ formset.as_table }}<br> --> 

     {% for question in questions %}<hr> 

    <label for="question">{{ question }} [{{ question.id }}]</label> 
    <input type="hidden" id="id_form-{{ forloop.counter0 }}-question" name="form-{{ forloop.counter0 }}-question" value="{{ question.id }}"/> 


    </p> 
    <p> 
    <label for="answer">Réponse :</label> 
    <input type="text" id="id_form-{{ forloop.counter0 }}-answer" name="form-{{ forloop.counter0 }}-answer" value="{{ question.answer }}"/> 
    </p> 

{% endfor %} 
     <br><br><br><hr> <br><br><br> 
    </table><br> 
    <center><input type="submit" value="Submit" class="btn btn-success" /> 
    <a href="../../baseVisite/" class="btn btn-success">Retour</a></center> 
    </form> 

我不知道如何來檢索回答域答案在數據庫中,如果有一個。

我的問題是此行中我的模板:

<input type="text" id="id_form-{{ forloop.counter0 }}-answer" name="form-{{ forloop.counter0 }}-answer" value="{{ HERE }}"/> 

我不知道要放什麼價值來獲取答案

+0

如果問題有多個回覆怎麼辦? –

回答

2

Question對象將有reply_set屬性與記錄集的所有與該問題關聯的Reply對象,您可以在其中迭代和顯示該對象。

{% for reply in question.reply_set %} 
    <p> 
    <label for="answer">Réponse :</label> 
    <input type="text" id="id_form-{{ forloop.parentloop.counter0 }}-answer" name="form-{{ forloop.parentloop.counter0 }}-answer" value="{{ reply.answer }}"/> 
    </p> 
{% endfor %} 

當然,你將不得不處理一個有多個答覆的問題。

+0

非常感謝你的工作! –