Я пытаюсь отобразить сумму суммы_won для каждого имени пользователя в базе данных.Моя база данных:
Таблица ставок
id
player_id
stakes
amount_won
last_play_date
Таблица игроков
id
user_name
real_name
site_played
models.py
class Player(models.Model):
user_name = models.CharField(max_length=200)
real_name = models.CharField(max_length=200)
SITE_CHOICES = (
('FTP', 'Full Tilt Poker'),
('Stars', 'Pokerstars'),
('UB', 'Ultimate Bet'),
)
site_played = models.CharField(max_length=5, choices=SITE_CHOICES)
def __unicode__(self):
return self.user_name
def was_created_today(self):
return self.pub_date.date() == datetime.date.today()
class Stakes(models.Model):
player = models.ForeignKey(Player)
stakes = models.CharField(max_length=200)
amount_won = models.DecimalField(max_digits=12, decimal_places=2)
last_play_date = models.DateTimeField('Date Last Updated')
def __unicode__(self):
return self.stakes
class PlayerForm(ModelForm):
class Meta:
model = Player
class StakesForm(ModelForm):
class Meta:
model = Stakes
Views.py
def index(request):
latest_player_list = Player.objects.all().order_by('id')[:20]
total_amount_won = Stakes.objects.filter(player__user_name='test_username').aggregate(Sum('amount_won'))
return render_to_response('stakeme/index.html', {
'latest_player_list': latest_player_list,
'total_amount_won': total_amount_won
})
и index.html
<h1> Players </h1>
{% if latest_player_list %}
<ul>
{% for player in latest_player_list %}
<li><a href="/stakeme/{{ player.id }}/">{{ player.user_name }} </a><br>Total Won: {{ total_amount_won }}
</li>
{% endfor %}
</ul>
<br>
{% else %}
<p>No players are available.</p>
{% endif %}
<h3><a href="/stakeme/new/">New Player</a></h3>
Если я оставлю раздел views.py как (player__user_name='test_username')
, он отобразит Amount Won:КАЖДОЕ имя пользователя.В идеале я хотел бы, чтобы он отображал сумму выигрыша: для каждого имени пользователя в цикле for и отображал его только как «сумма выигрыша: 4225,00».
Я начинаю понимать, что это слишком над головой, но я прочитал документы, касающиеся различий между совокупностью и аннотацией, и не могу обернуть это вокруг.Я думаю, что моя БД не настроена правильно, чтобы использовать аннотирование для этого, но я, очевидно, могу ошибаться.