Форум сайта python.su
Есть необходимость организовать вывод результатов определённого соревнования по некоторым правилам. Правила:
Места команд на первом этапе Чемпионата определяются по большей сумме набранных очков. За победу в матче команде начисляется 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)
Офлайн
я бы еще одну таблицу создал, например с именем Group
И почему у тебя related_name = team1, team2?
Поля с данными именами будут у модели Team. Наверное в обоих случаях лучше сделать games
Хотя не, так нельзя
Отредактировано (Дек. 4, 2010 13:42:45)
Офлайн