我开始我的第一个Django网络应用程序[在完成Django官方教程和Django女孩教程之后] ..我在设置模型时遇到了一些麻烦。我现在有一些工作,但我觉得这是相当低效的,我宁愿在未来之前学会正确的方式。(初学者)第一个Django Web应用程序 - models.py
开始 - 当学习一种新的编程语言时,很多人(在互联网上)建议选择一个你喜欢的话题/爱好并制作一个项目。我很喜欢体育运动,想要重新创建一个类似于ESPN或任何其他体育网站的虚拟记分牌。
我的models.py目前看起来是这样的 -
class Game(models.Model):
# start_time = models.DateTimeField()
today = models.DateField(default=date.today)
game_id = models.AutoField(primary_key=True)
game_outcome = models.CharField(max_length=8)
game_quarter = models.CharField(max_length=1)
game_clock = models.PositiveSmallIntegerField()
away_team_id = models.CharField(max_length=3)
away_team_class = models.CharField(max_length=3)
away_team_city = models.CharField(max_length=13)
away_team_name = models.CharField(max_length=12)
away_team_score = models.PositiveSmallIntegerField()
home_team_id = models.CharField(max_length=3)
home_team_class = models.CharField(max_length=3)
home_team_city = models.CharField(max_length=13)
home_team_name = models.CharField(max_length=12)
home_team_score = models.PositiveSmallIntegerField()
,但我觉得这是太多的变量,而不是去了解它的正确方法。我也尝试过这样的事情...
class Day(models.Model):
today = models.DateField(default=date.today)
class Game(models.Model):
game_id = models.AutoField(primary_key=True)
game_outcome = models.CharField(max_length=8)
game_quarter = models.CharField(max_length=1)
game_clock = models.PositiveSmallIntegerField()
away_team_id = models.CharField(max_length=3)
away_team_score = models.PositiveSmallIntegerField()
home_team_id = models.CharField(max_length=3)
home_team_score = models.PositiveSmallIntegerField()
class Team(models.Model):
team_id = models.ForeignKey('Team')
team_class = models.CharField(max_length=3)
team_city = models.CharField(max_length=13)
team_name = models.CharField(max_length=12)
每天都有0到游戏XX量。每场比赛都有:结果(空或'FINAL'),当前季度('1'或null),当前时钟('00:00'或null),客队('CHA'),客场比分('99' ),主队('TOR')和主场比分('102')。然后,我将采取团队ID并将其与班级团队进行比较。每个团队都有一个班级(用于css:'tor'),一个城市('Toronto')和全名('Raptors')。
它仍然没有粘在我的头上。我可以获取python shell中的所有信息并输出到我的html/css中,但我感觉效率很低。此外,每一天都有自己的html页面(类似于website.com/nba/scores/20150112/),并且充满了当天的所有游戏。
对不起,如果这太初学者问,我花了很多时间寻找答案,最后决定发布stackoverlow(我的第一个问题)。
任何信息或建议将不胜感激。
太棒了,谢谢! 所以,如果我阅读文档后正确地理解,这将是设置了...? 类日 类游戏......有一天一个多到一的关系(10场比赛,只有1天) 一流团队......有游戏一比一的关系(每个home_team_id和away_team_id是直接与他们TEAM_NAME,team_city,和一流的团队本身) – zacarellano
@asapzacy team_class一个一对一的关系:好概念,在'Game'类,外键'Team'也多到一个realtionships,因为一个“团队”可以参与许多“游戏”。检查更新 – Throoze