我想以某種方式查詢數據庫,而不僅僅是按某個字段排序,我得到一個單獨的QuerySet(或字典,列表,無論)for該領域的每個獨特價值。希望下面的例子將幫助:按字段拆分查詢集或獲取多個查詢集,而不是按字段排序
假設像
Class Person(models.Model):
first_name = models.CharField()
last_name = models.CharField
模型調用Person.objects.all()ORDER_BY( '姓氏')給了我一個很長的QuerySet。我想要爲每個唯一姓氏單獨列出一個列表。因此,每個人姓氏=「史密斯」和另一個名單爲每個人與last_name =「阮」等列表
顯然我不能提前知道last_names將在數據庫中,也不知道多少人們會分享一個共同的姓氏。是否有任何快速,高效或自動的方式在django中執行此操作,或者我只需要在收到一個大型查詢集後自行處理數據?
謝謝!這真的很有幫助。我試圖緩和一下,但是我目前缺乏聲譽得分,我會在提高聲譽後再回來。我接受下面的答案,因爲它在視圖而不是模板中完成了工作。 – Tango 2012-07-09 03:07:16
我很好奇,爲什麼你認爲在視圖中進行分組比在模板上做得更好?看起來像在模板上進行分組會導致視圖中的代碼更清晰並且性能更好(請記住,django中的querysets是懶惰的)。 – 2012-07-09 03:43:24