我目前正在用 Python 在 Google App Engine 上构建一个 Web 应用程序来收集表单的赛马数据。基本的数据结构是 Course has many Meetings 有很多 Races 有很多 Horses 有一个 Jockey 有一个 Trainer。到目前为止,我已经获得了以下模型(为简洁起见,减少了字段数量)。
class Course(db.Model):
course_number = db.IntegerProperty() # course id (third party)
course_description = db.StringProperty() # course name
class Meeting(db.Model):
course = db.ReferenceProperty(Course) # reference to course
meeting_number = db.IntegerProperty() # lifetime meeting number for course
meeting_date = db.DateProperty() # meeting date
class Race(db.Model):
meeting = db.ReferenceProperty(Meeting) # reference to meeting
race_number = db.IntegerProperty() # eg 1 for 1st race of meeting
race_name = db.StringProperty() # race name
time_of_race = db.TimeProperty() # race time
我无法弄清楚如何在数据存储中存储有关马匹、训练师、骑师的数据。
我的应用程序将收集过去 2 年的数据,为此我将保存马匹、驯马师、骑师的相关结果信息。特定马匹成绩的信息对于当时的练马师和骑师来说是相同的。然而,随着时间的推移,一匹马可以有不同的教练和骑师。
当我意识到在分析中我可能需要查看最近 10 场马匹、骑师、驯马师的比赛结果时,我的主要脑痛就来了。结果可能无法存储,因为结果发生在英国赛车之外(数据仍然可用)或发生在我开始完整的比赛存储日期之前。
任何人都可以阐明如何优化马匹、骑师、教练结果的存储,以便我可以适应这个吗?
数据来源:http: //form.horseracing.betfair.com/timeform 所有需要的数据都可以通过 JSON 请求轻松访问。