`class Daily(models.Model):
transid = models.AutoField(primary_key=True)
transdate = models.DateField()
transdetails = models.ForeignKey(Details, on_delete=models.CASCADE)
transcategory = models.ForeignKey(MasterCategory, on_delete=models.CASCADE)
transmode = models.ForeignKey(PaymentMode, on_delete=models.CASCADE)
transsubdetails = models.CharField(max_length=100, blank=False, null=False)
transamount = models.DecimalField(max_digits=7, decimal_places=2)
objects = models.Manager()
def __str__(self):
return "%s %s %s %s %s %s %s" % (
self.transid,
self.transdate,
self.transdetails,
self.transcategory,
self.transmode,
self.transsubdetails,
self.transamount)`
上面是我的模型 我的模板如下
{% for month in months %}
<h3>{{ month__month }}</h3>
<table style="width: 100%">
<tr>
<th>ID</th>
<th>Date</th>
<th>Details</th>
<th>Category</th>
<th>Pay Mode</th>
<th>Sub Details</th>
<th>Amount</th>
</tr>
{% for trans in mydata %}
<tr>
<td>{{ trans.transid }}</td>
<td>{{ trans.transdate }}</td>
<td>{{ trans.transdetails }}</td>
<td>{{ trans.transcategory }}</td>
<td>{{ trans.transmode }}</td>
<td>{{ trans.transsubdetails }}</td>
<td>{{ trans.transamount }}</td>
</tr>
{% endfor %}
</table>
{% endfor %}
我的观点是
def alltrans(request):
my_data = Daily.objects.all()
mnths = len(Daily.objects.values('transdate__month').distinct())+1
totamount = Daily.objects.all().aggregate(totb=Sum('transamount'))['totb']
mnths1 = Daily.objects.values('transdate__month').distinct(),
monthsba = [Daily.objects.filter(transdate__month=month) for month in range(1, mnths)]
ms = {
'months': mnths1,
'monthsbal': monthsba,
'mydata': my_data,
'totamount': totamount,
'title': 'All Trans',
}
return render(request, 'alltrans.html', ms)
我正试着按月引进模板...
1月金额(交易额)按月筛选=1 id日期明细类别支付模式子明细金额
2月合计(成交金额)按月过滤=2
诸若此类
请给我带路