我试图自己解决这个问题:(不能到达那里。请怜悯......
我试图表示运动数据(开始时间是一个结束时间和很多 - 未确定数量的 - 心率)
这是我设置的模型:
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)
我知道通过与管理员合作,每次练习似乎只选择了一个HeartRate,所以也许我的方法都错了。我该如何正确建模?并且一旦正确建模,我如何查询每个(所有)练习的所有心率。我知道这是一个noob的举动,但我真的试了好几个小时让它工作,并且不能很好地处理文档。提前谢谢。
答案 0 :(得分:4)
您应该反转外键关系:
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()