Я спросил об этом question об аннотации, чтобы найти лучших 5 самых раненых игроков, но теперь у меня возникла проблема с отображением правильной информации, и я решил, что это должен быть собственный вопрос.Аннотация не отображается/не работает
Это мой текущий вид:
def home(request):
context={}
most_recent = PlayerInjury.objects.all().order_by('-timestamp')[:5]
news = News.objects.all()
most_injured = PlayerInjury.objects.annotate(injury_count=Count('id')).order_by('-injury_count')[:5]
print most_injured
context['most_injured'] = most_injured
context['most_recent'] = most_recent
context['news'] = news
return render_to_response('dash/home.html', RequestContext(request, context))
models.py
class PlayerInjury(models.Model):
player = models.ForeignKey(Player)
injury_type = models.ForeignKey(Injury)
injury_date = models.DateField(verbose_name='Injured On', null=True, blank=True)
description = models.CharField(verbose_name='Description', max_length=180, null=True, blank=True)
status = models.ForeignKey(Status)
projected_return = models.DateField(verbose_name='Projected Return Date', null=True, blank=True)
hide = models.BooleanField(default=False)
returned = models.BooleanField(default=False)
timestamp = models.DateTimeField(auto_now_add=True)
class Player(models.Model):
first_name = models.CharField(verbose_name='First Name', max_length=30, null=True, blank=True)
last_name = models.CharField(verbose_name='Last Name', max_length=30, null=True, blank=True)
team = models.ForeignKey(Team, related_name='Team played for')
pob = models.CharField(verbose_name='Place of Birth', max_length=100, null=True, blank=True)
dob = models.DateField()
age = models.IntegerField(null=True, blank=True)
height = models.CharField(verbose_name='Height', max_length=10, null=True, blank=True)
weight = models.CharField(verbose_name='Weight', max_length=10, null=True, blank=True)
drafted_by = models.ForeignKey(Team, related_name='drafted by')
Однако, когда я распечатать most_injured
я получаю:
- Игрок A
- Игрок B
- Игрок A
Когда действительно, я должно оно должно отображаться как:
- Игрок A
- Игрок B
Из-за тот игрок А был болен более игрок B
Любых предложения?
Я думал, что так оно и должно работать.
- Игрок A (2 Раны)
- Игрок B (1 Травма)
- и т.д.
Пожалуйста, оставьте свои модели. – aganders3
добавлен my models.py – TheLifeOfSteve
Как выглядит ваша модель для 'Player'? – aganders3