亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 運行余額/累計余額

Django 運行余額/累計余額

絕地無雙 2023-12-12 21:45:49
我有一個帶有計算余額(運行余額/累積余額)的函數的交易模型,但余額輸出作為查詢集返回。<QuerySet [{'id': 1, 'cumsum': -9.0}, {'id': 2, 'cumsum': -16.0},{'id': 3, 'cumsum': -21.0}]>如何修復我的函數,以便余額僅顯示 10 月 16 日為 -9.00、10 月 18 日為 -16.00、然后 10 月 20 日為 -21.00 的數字。先感謝您。model.pyclass Transaction(models.Model):    transaction_date = models.DateField()    account_nickname = models.ForeignKey(Accounts, on_delete=models.CASCADE)    amount = models.FloatField()    @property    def balance(self):        return Transaction.objects.annotate(cumsum=Func(Sum('amount'),template='%(expressions)s OVER (ORDER BY %(order_by)s)',order_by="id")).values('id', 'cumsum').order_by('id', 'cumsum')views.pydef index(request):    all_transactions = Transaction.objects.all()    context = {        "transactions": all_transactions    }    return render(request,'pages/index.html', context)索引.html        {% for each_transaction in transactions %}        <tr>            <td>{{each_transaction.transaction_date}}</td>            <td>{{each_transaction.account_nickname}}</td>            <td>{{each_transaction.amount}}</td>            <td>{{each_transaction.balance}}</td>        </tr>        {% endfor %}輸出:
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

首先刪除你的@property balance功能


然后在views.py


def index(request):

    all_transactions = Transaction.objects.annotate(cumsum=Func(Sum('amount'),template='%(expressions)s OVER (ORDER BY %(order_by)s)',order_by="id"))

    context = {

        "transactions": all_transactions

    }

    return render(request,'pages/index.html', context)

然后在你的index.html


{% for each_transaction in transactions %}

<tr>

    <td>{{each_transaction.transaction_date}}</td>

    <td>{{each_transaction.account_nickname}}</td>

    <td>{{each_transaction.amount}}</td>

    <td>{{each_transaction.cumsum}}</td>

</tr>

{% endfor %}


查看完整回答
反對 回復 2023-12-12
  • 1 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號