如何让简单的 ForeignKey 模型工作? (另一个class中的class列表)

How to get simple ForeignKey model working? (a list of class in another class)

我试图自己解决这个问题 :( 无法完全解决问题。请同情......

我正在尝试表示锻炼数据(开始时间、结束时间和许多——不确定数量的——心率)

这是我设置的模型:

class HeartRate(models.Model):
    timestamp = models.DateTimeField('Date and time recorded')
    heartrate = models.PositiveIntegerField(default=0)
    def __str__(self):
        return prettyDate(self.timestamp)

class Exercise(models.Model):
    start_timestamp = models.DateTimeField('Starting time')
    finishing_timestamp = models.DateTimeField('Finishing time')
    heartrate = models.ForeignKey(HeartRate)

我从与管理员的合作中了解到,似乎每次锻炼都只选择了一个心率,所以也许我的方法全错了。我该如何正确建模?一旦正确建模,我如何查询每个(所有)练习的所有心率。我知道这是一个新手的举动,但我真的尝试了几个小时让它工作并且无法完全掌握文档。提前致谢。

你应该反转外键关系:

class HeartRate(models.Model):
    timestamp = models.DateTimeField('Date and time recorded')
    heartrate = models.PositiveIntegerField(default=0)
    exercise = models.ForeignKey(Exercise, related_name='heartrates')    

class Exercise(models.Model):
    start_timestamp = models.DateTimeField('Starting time')
    finishing_timestamp = models.DateTimeField('Finishing time')

要获得锻炼的所有心率:

heartrates = my_exercise.heartrates.all()