2012-12-12 22 views
0

只得到真正的字符串我有一個的Django 1.4:如何從Bla.objects.filter

class Questions(models.Model): 
    question = models.CharField(max_length=150) 
    created_by = models.CharField(max_length=30) 
    def __unicode__(self): 
     return self.question 

現在我需要像這樣的輸出(這樣我就可以使用它像Django的{{ form.as_p }}):

<div id="question-1">The string in question"</div> 
<div id="question-2">The string in another question"</div> 
... 

loq = Questions.objects.filter(created_by=user)我得到[<Questions: My first question!>,...]str(loq)

有沒有比搜索str(loq)更容易的方法.find()

編輯:

解決這種方式(感謝Samuele Mattiuzzo):

models.py:

class Questions(models.Model): 
    question = models.CharField(max_length=150) 
    created_by = models.ForeignKey(User) 
    def __unicode__(self): 
     return self.question 

views.py:

def ViewQuestions(request): 
    if request.user.is_authenticated(): 
     loq = Questions.objects.filter(created_by=request.user) 

     return render(request, "main/questions.html", {'loq': loq}) 
    else: 
     return HttpResponseRedirect("/") 

questions.html:

{% for q in loq %} 
<div id="question-{{ forloop.counter }}">{{ q.question }}</div> 
{% endfor %} 

回答

1

創建一個模板文件(比如說questions.html)是這樣的:

{% for q in loq %} 
    <div id="question-{{ forloop.counter }}">{{ q.question }}</div> 
{% endfor %} 
在views.py

,你必須回到你的查詢集(這是你的LOQ)

def view_questions(response, user): 
    loq = Questions.objects.filter(created_by=user) 
    return render_to_response(
     'questions.html', 
     locals(), 
     context_instance=RequestContext(request) 
    ) 

當地人()是包含你的loq的字典。在這裏我假設你已經知道django是如何工作的。我真的不明白你的意思。「.find()」聲明,壽。

您可能還需要到外地CREATED_BY從CharField更改爲外鍵poiting用戶類

檢查有關querysetsviews的文檔關於這一主題的知識。

如果這個沒有回答,提供一些更多的解釋,我會更新答案

+0

謝謝! 我會看看文檔。 –