是否可以使用django的orm來計算累計(運行)總和?請看下面的模式:與django orm和postgresql的累計(運行)總和
class AModel(models.Model):
a_number = models.IntegerField()
了一組數據,其中a_number = 1
的。這樣我在數據庫中有一個數字(> 1)AModel
實例全部使用a_number=1
。我希望能夠返回以下內容:
AModel.objects.annotate(cumsum=??).values('id', 'cumsum').order_by('id')
>>> ({id: 1, cumsum: 1}, {id: 2, cumsum: 2}, ... {id: N, cumsum: N})
理想情況下,我希望能夠限制/過濾累積總和。所以在上述情況下,我想限制結果cumsum <= 2
我相信在postgresql中可以使用窗口函數實現累計和。這是如何轉換成ORM的?
我不明白。什麼是cumsum?並且只有一條記錄的id = 1 –
cumsum ==累計和,顯然這是針對多個記錄 - 編輯得更清楚,因此數據集的大小大於1。 – wrdeman
我不認爲你可以用ORM做它...用python代替 –