如何让简单的 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()
我试图自己解决这个问题 :( 无法完全解决问题。请同情......
我正在尝试表示锻炼数据(开始时间、结束时间和许多——不确定数量的——心率)
这是我设置的模型:
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()