0
我有一個代表文章的Django類。在一個或多個其他文章有時一文的評論,我已經表示如下使用遞歸許多一對多的關係,在這個類的關係:如何從遞歸多對多關係中檢索Django對象?
class Article(models.Model):
comments_on = models.ManyToManyField('self', blank=True)
我認爲,我已經成功地相關的文章彼此在管理界面中通過在comments_on字段中選擇多個文章。假設一篇文章(id1)評論其他兩篇文章(id2和id3)。我不知道如何訪問id1的comments_on屬性,以便id2和id3出現在我的Django模板中。
我想:
{{ [instance of Article object].comments_on }}
,但我得到的是:
[name of my app].Article.None
我想知道(1)如何訪問此屬性,讓它顯示? (2)我如何一次訪問其中一篇相關文章?例如,如果在id2和id3上都有id1註釋,我怎樣才能顯示id2或id3?
好comments_on是M2M領域,所以你不得不在從'Article.comments_on.all(返回的查詢集for循環做)'和施展屬性。 –
謝謝。我試圖通過myvariable = Article.comments_on.all()將它分配給我的函數中的一個變量,然後我嘗試通過我的html文件中的myvariable進行循環,但是我收到了一個AttributeError,它表示:'ManyToManyDescriptor'對象沒有屬性'all' – henrich
首先,'Article'是模型的類名。 'Article.comments_on'會返回'ManyToManyDescriptor'函數。 您只需調用'[實例文章] .comments_on.all()'來獲取查詢集。 – zaidfazil