【发布时间】:2019-09-26 12:55:17
【问题描述】:
如何呈现特定字段值的总计?如您所见,我在这里使用反向关系,因为我有一个外键(我不确定这是否会有所不同)。例如,如果我想要 'ab' 字段中的值的总和,我会怎么做。我知道我必须使用聚合或注释方法。在我的特定情况下会是什么样子?
models.py
class Batting(models.Model):
id = models.IntegerField(db_column='ID', primary_key=True)
playerid = models.ForeignKey('PlayerLkup', models.DO_NOTHING, db_column='playerID', blank=True, null=True)
g = models.IntegerField(db_column='G', blank=True, null=True
ab = models.IntegerField(db_column='AB', blank=True, null=True)
year = models.IntegerField(db_column='Year', blank=True, null=True)
complete_name = models.CharField(max_length=50, blank=True, null=True)
class PlayerLkup(models.Model):
playerid = models.CharField(db_column='playerID', primary_key=True, max_length=255)
birthday = models.IntegerField(db_column='birthDay', blank=True, null=True)
namefirst = models.CharField(db_column='nameFirst', max_length=255, blank=True, null=True)
namelast = models.CharField(db_column='nameLast', max_length=255, blank=True, null=True)
views.py
from django.shortcuts import render
from .models import PlayerLkup
def player_info(request, playerid):
playerdata = PlayerLkup.objects.get(playerid=playerid)
battingstats = playerdata.batting_set.all()
return render(request, 'careerstats/playerpage.html', {'playerdata': playerdata, 'battingstats': battingstats})
【问题讨论】: