2014-04-03 24 views
0

我用我的自定義創建的用戶模式,我有兩種基本模式:Django的多級查詢

class Subject(models.Model): 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 
    title = models.TextField(max_length=1000) 

class Topic(models.Model): 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 
    subject = models.ForeignKey(Subject) 

有什麼辦法(無需任何外部包裝像Django-mptt)查詢屬於特定主題的主題和是由特定用戶創建的?我的意思是,當用戶登錄時,我要作出這樣的列表:

編輯:這裏就是我想要做的名單:

你好用戶。感謝您在登錄

您的項目:

  • 主題1個

    • 主題1
    • 主題2
  • 主體探析2

    • 主題1

我不知道該怎麼做。這可能很容易,因爲我只是一個begginer。

編輯:答案是一個簡單的嵌套的for循環,我很抱歉產生的任何混亂..

+0

這是不太清楚。你說你想查詢一個特定的主題,但你的例子顯示你顯示用戶主題的所有主題。你想查詢什麼? –

+0

對不起,我一直在編碼一整天。我確實想要查詢屬於由特定用戶創建的特定主題的主題:用戶>主題>主題 - 我想在發佈的問題中創建對象樹。 – Eimantas

+0

通過說'特定的主題和用戶',我假設你在查詢時知道主題和用戶是什麼,對吧?然後我不明白爲什麼你認爲這很難。 –

回答

1

的問題仍然是令人困惑,因爲還有事情沒有主題或主題的查詢。您只是遍歷用戶的主題,以及您正在迭代主題的每個主題。

<ul> 
    {% for topic in user.topic_set.all %} 
    <li>{{ topic.title }} 
     <ul> 
     {% for subject in topic.subject_set.all %} 
      <li>{{ subject.title }}</li> 
     {% endfor %} 
     </ul> 
    </li> 
    {% endfor %} 
</ul>