Есть необходимость организовать вывод результатов определённого соревнования по некоторым правилам. Правила:
Места команд на первом этапе Чемпионата определяются по большей сумме набранных очков. За победу в матче команде начисляется 3 очка, за ничью – 1 очко, за поражение – 0 очков.
В случае равенства очков у двух и более команд их места определяются:
1. По результатам игр(ы) между собой:
- большему количеству набранных очков;
- лучшей разнице забитых и пропущенных мячей;
- большему количеству мячей забитых в этих играх;
- большему количеству мячей, забитых на чужом поле в этих играх;
Модели получаются такие:
# -*- coding: utf-8 -*-
from django.db import models
# Таблица "Команда" с единственным полем "название"
class Team(models.Model):
name = models.CharField(max_length=30)
number = models.IntegerField(null=False)
def __unicode__(self):
return self.name
# Таблица "Игра" с полем даты, внешними ключами на названия участвующих команд и поля с забитыми голами
class Games(models.Model):
date = models.DateTimeField()
team1 = models.ForeignKey(Team, related_name="team1")
team2 = models.ForeignKey(Team, related_name="team2")
team1_goals = models.IntegerField()
team2_goals = models.IntegerField()
def __unicode__(self):
return str(self.date)
Как бы так связать название команды с забитыми ею голами? Т.е. ведь в разных играх одна и та же команда может быть указана и как team1 и как team2, а привязки кол-ва голов именно к названию никакой нет. Может быть есть возможность забивать в базу словарь?
Просто я не знаю тогда, как по-человечески организовывать выборку.
Всем заранее спасибо за помощь!:)