我想做一個黨的分類賬,其細節將通過日期搜索結果顯示。我有一個名為余額的列,它將通過日期搜索顯示累積資料。余額欄位是一個小數欄位。我在views.py中嘗試如下操作
def partyDetails(request,pk):
form = DateRangeForm()
搜索 = []
until = [] 。
cumbalance = 0.00[/span
if request.method == 'POST':
form = DateRangeForm(request.POST or None)
if form.is_valid()。
search = PurchasePayment.objects.filter(vendor=pk,date__range=(
form.cleaned_data['start_date'] 。
form.cleaned_data['end_date'].
))
for balancet in search:
cumbalance = Decimal(balancet.balance)
else:
return redirect('party_ledger')
return render(request, 'purchase/party_details.html', {'dateform':form,
'party':search, 'name': pk, 'cumbalance':cumbalance})
但是我得到的錯誤是不支持 =的運算元型別 如果我嘗試cumbalance = [balancet.balance],然后得到[Decimal('200000.00'), Decimal('-200000.00')] MY Models.py如下所示
class PurchasePayment(models. Model)。)
id = models.AutoField(primary_key=True)
date = models.DateField(default=date.today)
發票 = models.CharField(max_length=20)
vendor = models.CharField(max_length=50)
amount = models.DecimalField(max_digits=9, decimal_places=2, default=0.00)
discount = models.DecimalField(max_digits=9, decimal_places=2, default=0.00)
payment = models.DecimalField(max_digits=9, decimal_places=2, default=0.00)
balance = models.DecimalField(max_digits=9,decimal_places=2)
remarks = models.TextField(blank=True)
extra = models.CharField(max_length=100, blank=True)
def __str__(self) 。
return self.vendor
我的HTML
<tbody>
{% for data in party %}
{% for cum in cumbalance %}.
<tr>
<td >{{data.date}}</td>
<td >{{data.invoice}}</td>
<td >{{data.amount}}</td>
<td >{{data.discount}}</td>
<td >{{data.payment}}</td>
<td >{{cum}}</td>
</tr>
{% endfor %}{% endfor %}
{% endfor %}{% endfor %}
</tbody>
如何在天平領域做一個累積視圖
uj5u.com熱心網友回復:
你可以只做
from django.db.models import Sum
cumbalance = search.aggregation(cumbalance=Sum('balance')) ['cumbalance']
uj5u.com熱心網友回復:
你是否嘗試過使用aggregate?
cumulative_balance = PurchasePayment.objects.filter(vendor=pk,date__range=(form.cleaned_data['start_date'], form.cleaned_data['end_date']).aggregate(Sum('balance') )
然后使用cumulative_balance['balance']
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/307462.html
標籤:
