2014-02-23 41 views
1

我有一個模型,購買這樣的:Django的:感到困惑與重新組合模板

class Purchase(models.Model): 
    material = models.ForeignKey(Material) 
    supplier = models.ForeignKey(Supplier) 
    amount = models.IntegerField() 
    price = models.FloatField() 
    state = models.IntegerField(default=0) 
    timestamp = models.DateTimeField(auto_now=True) 

在模板中,我希望將所有的採購由供應商,所以我寫<% regroup purchases by supplier as supplier_list %>,然而,事情我弄糊塗了我:我在數據庫中只有兩個供應商,但在這裏有三個組,而他們兩個是同一個供應商。

測試情況:

purchase_purchase表

id | material_id | supplier_id | amount 

1 | 3   | 3   | 2 
2 | 4   | 3   | 10 
3 | 3   | 2   | 10 
4 | 3   | 3   | 4 

是否有我的片斷任何錯誤?等待建議。

+0

你可以發佈你的模板代碼來顯示重新分組列表嗎? – frnhr

+0

我錯過了重新組合沒有排序輸入的重要功能。因此,如果不連續,具有相同斑點的輸入將被分開。 Anway,非常感謝你。 @fmhr –

回答

2

您需要確保您的數據已經按照您重新組合的值排序。

documentation的重新組合標籤做解釋:

注意{% regroup %}不下令其輸入!我們的榜樣依賴於這樣一個事實,即城市名單首先是按國家排序的。如果城市名單沒有按國家順序排列,那麼重組可能天真地爲一個國家顯示不止一個組。

+0

是的,我在以後的測試中發現了這個特性。我應該仔細閱讀文檔,非常感謝。 –