我有Django的一个模型是这样的:查询一个多对多场与通过在Django
class Classification(models.Model):
name = models.CharField(choices=class_choices)
...
class Activity(models.Model):
name = models.CharField(max_length=300)
fee = models.ManyToManyField(Classification, through='Fee')
...
class Fee(models.Model):
activity = models.ForeignKey(Activity)
class = models.ForeignKey(Classification)
early_fee = models.IntegerField(decimal_places=2, max_digits=10)
regular_fee = models.IntegerField(decimal_places=2, max_digits=10)
的想法是,将有一组与每个活动和分类对相关费用。分类就像学生,工作人员等
我知道那部分是正确的。
然后在我的申请,我查询了一组活动:
activities = Activity.objects.filter(...)
它返回的活动列表。我需要在我的模板中显示活动费用清单。事情是这样的:
Activity Name
Student Early Price - $4
Student Regular Price - $5
Staff Early Price - $6
Staff Regular Price - $8
但我不知道一个简单的方法,而不费的具体GET查询对象为每个活动/类对得到这个信息。
我希望这会工作:
activity.fee.all()
但是,这只是返回分类对象。有没有办法通过我已经查询的活动获得对的费用对象数据?
还是我这样做完全错了?