Вам нужно будет обновить поля ваших моделей как-то.
Я бы предложил что-то вроде:
Сначала напишите функцию, которая возвращает вам трефы из базы данных:
def get_clubs(local_club_id, visitor_club_id):
local_club = Club.objects.filter(pk=self.local_club_id)[0]
visitor_club = Club.objects.filter(pk=self.visitor_club_id)[0]
return local_club, visitor_club
И тогда вы можете соответствующим образом обновить выигрыши и проигрыши (в вашем views.py
):
def update_scores(request):
match = request.match
club_local, club_visitor = get_clubs(match.club_local.pk, match.club_visitor.pk)
if match.score_local > match.score_visitor:
# home team won
club_local.update(won=match.club_local.won + 1)
club_visitor.update(lost=match.club_visitor.lost + 1)
elif match.score_visitor > match.score_local:
# away team won
club_visitor.update(won=match.club_visitor.won + 1)
club_local.update(lost=match.club_local.lost + 1)
else:
# it's a draw
club_local.update(draw=match.club_local.draw + 1)
club_visitor.update(draw=match.club_visitor.draw + 1)
После этого ваша функция свойства должна работать как положено.