[снимок экрана со страницей списка фэнтези-команды]
Я пытаюсь создать сайт фэнтези-спорта. У меня есть игроки НБА (как класс), назначенные (django встроенным) пользователям (команда фэнтези) через поле в классе игрока. Я хочу суммировать все зарплаты игроков пользователя за данный год и перечислить это на странице списка игроков этого пользователя (также известного как команда) (независимо от того, кто вошел в систему.) Я смог получить эту сумму на оболочке django для указанного c user_id:
импортированный класс Player в оболочку & django .db.models import Sum Player.objects.filter (player_owner__exact = '1'). aggregate (Sum ('player_sal_19_20') )
результат: {'player_sal_19_20__sum': Decimal ('89654339')}
Но как я могу получить эту сумму в шаблоне для страницы списка publi c команды fantasy ?
Я целыми днями пробовал агрегатную функцию, пытаясь объединить ее с моей функцией get_queryset (см. Фрагмент представлений), тегами шаблонов и некоторыми другими методами, которые мне не по зубам.
Я использую встроенных пользователей django в качестве своих команд и создал класс игрока на models.py:
class Player(models.Model):
player_full = models.CharField(max_length=50)
player_sal_19_20 = models.DecimalField(default=0, max_digits=10, decimal_places=2)
player_sal_20_21 = models.DecimalField(default=0, max_digits=10, decimal_places=2)
player_sal_21_22 = models.DecimalField(default=0, max_digits=10, decimal_places=2)
player_sal_22_23 = models.DecimalField(default=0, max_digits=10, decimal_places=2)
player_owner = models.ForeignKey(User, default='26', on_delete=models.CASCADE)
Затем я создал представление для страницы игроков пользователя на представлениях .py:
class UserPlayerListView(ListView):
model = Player
template_name = 'blog/user_players.html'
context_object_name = 'players'
paginate_by = 20
def get_queryset(self):
user = get_object_or_404(User, username=self.kwargs.get('username'))
return Player.objects.filter(player_owner=user).order_by('-date_posted')
Наконец-то я смог o наметить простые вещи в шаблоне html с помощью циклов. Но, увы, я нахожусь в затруднительном положении, когда доходит до запроса годовой зарплаты группы игроков, отфильтрованной по назначенному им фантазийному пользователю. поле для каждого игрока, которое появляется в списке команды, которое определяется полем игрока 'fantasy_owner'.
Я новичок в django и python. Я полагаю, что это на самом деле легко сделать, поэтому заранее прошу прощения, если это так. Кроме того, если кто-нибудь знает примеры использования python / django для сайта о фэнтези-спорте, это тоже будет полезно!